我们已经了解到百度采用ARM处理器研发数据存储节点。另外,还有一些Startup公司在研发基于ARM的服务器。今年,AMD又宣布开始研发基于ARM的处理器,不再局限于X86处理器架构。这一切都在说明什么?ARM正往数据中心前进。
ARM处理器采用RISC的架构,其具有很好的性能/功耗比。对于数据中心而言,低功耗是一个永恒的话题。虽然,在服务器领域,以Intel为首的X86架构一度将MIPS、SPARC击溃,占据了服务器市场的重要份额。所以,如今放眼望去无论是存储设备还是应用服务器,基本都是采用了Intel的X86处理器。个人认为X86能够在服务器领域取得如此骄傲的成绩,一方面由于其出色的性能表现,CISC通过优化之后毫不逊色于RISC;另一方面,可能是更加重要的方面是Intel的具有很好的市场推动力,对于开发者而言具有很好的开发支持,即Intel具有较好的产业生态圈。所以,相对于MIPS和SPARC而言,Intel在市场和开发方面占尽了优势。
ARM和MIPS、SPARC之类的处理器不同,其拥有非常良好的生态圈。ARM公司推动处理器核心IP的发展,其他公司在ARM IP的基础上研发相应的SOC,因此,在整条产业利益链上涉及到非常多的公司,包括硬件和相应的软件、操作系统。广泛支持的产业生态圈可以将ARM处理器推动到浪潮之巅,与Intel X86处理器一决高下。
在服务器领域,笼统来讲,ARM处理器一直没有一席之地主要还是考虑到ARM处理器的性能不能满足服务器应用的需求。但是,仔细考虑,服务器应用的需求到底有哪些?简单归纳,其主要有以下两大类:
1)计算密集型应用。对于计算密集型应用,ARM处理器的性能和X86的性能还存在一定的差距,因此,X86处理器还会占据该类应用的市场。
2)事务密集型应用。对于事务密集型应用,其主要考量的是处理器的事务处理能力:包括处理事务的速度如何?能够连接多少客户提供服务?对于事务型的应用,集群处理具有很强的优势,通过集群可以增加客户的带载能力,可以并发事务的处理,提高事务的处理速度。因此,事务密集型应用不仅考量单芯片的处理能力,更重要的是考量系统芯片的内核(Hard Thread)数量。对于ARM处理器而言,这是一个非常好的切入点,一方面可以很好的满足应用需求,另一方面可以充分发挥自身低功耗的优势。
因此,个人认为对于事务型应用的场合,ARM处理器可以采用集群的方式来替代X86处理器,从而达到降低功耗的目的。在百度的存储服务器中就采用了ARM处理器,由于存储应用对CPU的计算性能要求很低,其主要瓶颈点在于IO,因此,该类应用可以归类为事务密集型应用,可以采用ARM处理器替代X86,从而降低功耗。
从美国Calxeda公司研制的ARM服务器可以一窥ARM服务器的实际处理能力。该服务器架构和传统的X86服务器差别很大。其主板上没有任何的处理器,整个主板遍布了PCI-E的插槽,桥路控制器以及一些对外接口的控制器和接口。
每对插槽上可以插入一个处理器扩展板,整个主板可以最多插入12块处理器扩展板。一个处理器扩展板可以示意如下:
每个扩展板拥有4个ARM处理器,每个处理器拥有一个内存条及4个SATA接口。扩展板上的每个处理器相当于一个服务器节点,那么整个系统等价于一个48节点的ARM集群系统。那么这样的一个系统,性能表现究竟如何呢?
通过第三方的测试了解到,此类ARM服务器在计算性能方面无法和X86架构的Xeon相比,但是,在以web服务为主的事务型应用中,ARM服务器性能居然超过了Xeon,并且大大降低了整个系统的功耗水平。下图是该ARM服务器和Xeon服务器在Web请求处理中的性能对比结果:
从上图可以看出,当并发访问客户相对较少时,Xeon的性能高于ARM处理器。随着并发访问的客户数量不断增加时,ARM服务器性能开始超越Xeon服务器。因此,可以看出,ARM处理器在面向事务的处理中可以替代X86处理器。在Web服务器、流媒体服务器、存储服务器中,ARM处理器可以拥有一片蓝天。
如今国产ARM处理器也在发力,Allwinner(全志)推出的面向多媒体处理的ARM处理器可以构建单板计算系统,结构非常的简单:
在该处理器中集成了Cotex-A8 ARM处理器以及Mali-400 GPU。更有意思的是,在Allwinner的单板系统上部署Hadoop集群:
虽然,这应该只是一个演示系统。但是,在数据中心中ARM处理器有其天然的优势,通过ARM处理器可以达到事务处理应用的需求,更为重要的是降低了数据中心功耗,实现绿色数据中心的目标。还有一点需要注意的是,未来数据中心的存储将会在Flash存储的推动下引来变革。而Flash存储和ARM将会是天生一对,ARM的纵核技术可以满足Flash存储的应用需求。因此,个人估计在不久的将来ARM技术将会占据数据中心的半壁江山,特别在事务型应用服务器中。
基于ARM的数据中心路在何方?