新年刚过,最近京沪等一线和南京等准一线城市房价暴涨,楼市火热,推升了交易量。在这股疯了似的行情中,很多人估计都不敢相信自己的眼睛了:别说了,我想静静!大城市的房子是有限的,技术却是无限的,人的大脑很多都是尚未开发的荒地,既没有18亿亩土地红线,又没有土地出让金,阿呆哥带你花个十分钟,安安静静学习全闪存技术,把这些荒地开发起来。每天看一篇SSDFans的文章,一年后你的大脑就能建成一座SSD技术大厦了,而别人天天盯楼市的大脑还是荒地。
XtremIO软件为什么在Linux用户态?
如上图,XIO的全闪存阵列软件架构,XIO OS和XIO的软件都运行在Linux的用户态,这样有什么好处呢?我们知道,Linux系统分为内核态和用户态,我们的应用程序都在用户态运行,各种硬件接口等系统资源都通过内核态管理,用户态通过system call访问内核资源。XIO软件运行在用户态有几大优点:
- 避免了内核态的进程切换,速度快。
- 开发简单,不需要借助于各种内核接口,以及复杂的内存管理,异常处理。
- 不必收到GPL的约束。Linux是开源系统,程序在内核运行必然要用到内核代码,按照GPL的规定,就得开源,在用户态自己开发的应用就不受此限制。这种商业性软件,里面很多都是公司花了很多心血开发的核心技术,开源了就太不值得了。由此也可以看出软件对全闪存阵列的价值!开源了还能卖那么贵吗?或者说开源了,谁都可以组装起来,装一个开源软件,全闪存阵列就只能打价格战了,高科技当大白菜卖。
用户态掌控一切
在每个CPU上运行着一个XIOS程序:X-ENV,如果你敲一下”top”命令,就会发现这个程序掌控所有的CPU和内存资源。为什么这么做?就是为了XIO能100%使用硬件资源,能够运筹帷幄之中,决胜千里之外。知道自己赚多少钱,才能想清楚该怎么花啊。
第二个作用是,不给其他进程影响XIO性能的机会,保证性能的稳定。
第三个作用是提供了一种可能性:未来可以简单修改就移植到Unix或者Windows平台,或者从X86 CPU移植到ARM,PowerPC等CPU架构,因为都是上层程序,不涉及底层接口。
软件定义硬件
XtremIO完全是脱离了硬件的软件,为什么这么说?因为他们被EMC收购之后,很快就从自己的硬件架构切换到了EMC的白盒标准硬件架构,说明软件基本不受硬件限制。而且,XIO的硬件基本没有自己特殊的组件,不包含FPGA,没有自己开发的芯片、SSD卡、固件等,用的都是标准件。这样做的好处是可以使用最新最强大的X86硬件,还有最新的互联技术,比如比Infiniband更快的技术。如果自己开发了专用的硬件,要跟着CPU一起升级就很麻烦了,总是会慢一拍。
甚至,XtremIO完全可以只卖软件,只不过目前EMC没这么干而已。现在是硬件,软件,EMC客户服务一起卖。没准哪天,硬件不赚钱了,EMC就只卖XIO软件了呢。
引用
http://vjswami.com/2013/11/13/xtremio-hardwaresoftware-overview-architecture-deepdive/