称霸移动领域后,ARM试图进军并占领桌面、服务器早已经不是秘密,也有很多厂商行动起来,但从目前的迹象看,ARM服务器即便爆发最快也得等到2014年。虽然ARM架构在这几年各方面都堪称突飞猛进,但究竟能不能从Intel Xeon、AMD Opteron那里夺得一杯羹,还有待观察。
在目前已有的一些ARM服务器产品中,基本都是概念试验性质的,完全没有大规模铺开,因此想一探究竟也非常困难。又是大佬AnandTech,他们从英国Boston那里拿到了一台迄今为止堪称最为成熟的ARM服务器“Viridis”,其中使用了Calxeda专门为服务器开发的ARM SoC,并且和Intel Xeon、Atom进行了实际对比测试。
ARM服务器是骡子是马?终于第一次有了真正的评测数据。
热身阅读:
全球首款ARM服务器处理器诞生 最低1.5W http://news.mydrivers.com/1/208/208178.htm
ARM服务器来了!2U 192核心、300W http://news.mydrivers.com/1/233/233875.htm
【来瞧瞧ARM服务器】
这台服务器首先在外观上就很有特色,前面板赫然是红色的,在强调沉稳的服务器领域可不多见。Calxeda在这里用不同颜色来代表不同用途,红色对应云平台,橙色代表NAS应用,蓝色则是高性能集群。
注:原文中一些关于服务器零部件的介绍我们就特意略过了,重点只看处理器相关的。
前面板之后是24个2.5寸硬盘位,可以安装SATA硬盘,还有一个标准的750W 80PLUS金牌电源。
主板和普通x86服务器上的很不一样,没有任何CPU、内存插槽,而是遍布PCI-E插槽,每对插槽插上一个EnergyCard(简称EC)扩展卡,就构成了一个服务器集群。
每块EC上有4颗处理器、4条mimiDIMM内存插槽、16个SATA接口,相当于4个服务器节点。
每台服务器可以安装12块EC,那就是48个节点,不过光纤互连架构最多可以支持到4096个节点,具体多少就看怎么配置、需求几何了。
评测样机只有6块EC、24个节点。内存安装的是Netlist 4GB 1.35V ECC(PC3L-10600W-9-10-ZZ),总计24条、96GB。硬盘使用了三星MZ7PC256HAFU 256GB(类似消费级的310系列),每颗处理器对应一块,总计24块、6TB。以前的版本还有microSD卡插槽,现在取消了。
风冷散热方面做得倒是很巧妙,不过拆装起来有点费劲。
处理器名字叫做EnergyCore ECX-1000,台积电40nm工艺制造,Cortex-A9架构,四核心,主频1.1-1.4GHz,典型功耗3.8-5W。
每个核心有32KB一级指令、32KB一级数据缓存,所有核心共享4MB ECC二级缓存。普通移动处理器里一般只有1MB二级缓存,还不支持ECC。
处理器内还有优化SIMD处理的NEON扩展、独立的FPU浮点单元、TrustZone安全模块。Cortex-A9可以每时钟周期解码两条指令,并分发最多四条。这和双核心双线程的Atom差不多,但是跟Sandy Bridge Xeon E5的4-5条解码、6发射是没法比的。
真正的大杀器是功耗:Calxeda宣称,整个服务器节点在1.1GHz频率时的负载功耗最低只有5W,待机时更是区区0.5W。
服务器更离不开软件支持和优化。Calxeda在操作系统上支持Ubuntu、Fedora,不过理论上任何基于32-bit ARM Linux内核的编译版本都能够运行。Ubuntu ARM已经有了一个预编译的Highbank镜像可用。
Calxeda也在这方面投入了一些开发资源,并加入了非营利组织Linaro,旨在为ARM SoC打造开源生态系统。
截止去年底,Calxeda生态系统涵盖的操作系统、编译器、编程语言、调试器、Java、应用程序如下:
【理论性能测试】
本次测试参与对比的处理器包括:
Intel Atom 230:单核心双线程,主频1.6GHz,45nm工艺,热设计功耗4W。来自一台1U服务器,搭配内存4GB DDR2-667。
Intel Atom N450:单核心双线程,主频1.66GHz,45nm工艺,热设计功耗5.5W。来自华硕Eee PC上网本,搭配内存1GB DDR2-667。
Intel Atom N2800:双核心四线程,主频1.86GHz,32nm工艺,热设计功耗6.5W。来自Intel DN2800MT套装,搭配内存4GB DDR3-1333。
Intel Xeon E5-2650L:Sandy Bridge-EP架构,八核心十六线程,主频1.8-2.3GHz,32nm,热设计功耗70W。来自Supermicro 2U服务器,双路(也就是16核心32线程),搭配内存64/128GB DDR3-1600。
其实最佳对比对象应该是Atom S1200,Intel的首款微型服务器专用芯片,但暂时还找不到它,只好拿类似的Atom N2800顶替一下。
再重复一下ARM这边的配置:24颗ECX-1000 1.4GHz四核心处理器,24条Netlist 4GB DDR3-1333内存。
操作系统上,Xeon E5使用的是虚拟机VMware ESXi 5.1,其它都是Ubuntu 12.10。
下边开始测试。因为都是很专业性的东西,我们就不多加解释了,大家只要直观地看一下柱状图,了解谁高谁低、差距多少就醒了。
内存带宽测试:ARM虽然有四核心、DDR3-1333内存,但带宽少得可怜,还不如DDR2-667内存的Atom,更是只有单个Xeon的不到六分之一。
整数处理压缩测试:乱序执行的A9打败了顺序执行的Atom,但仅限四核心VS.单核心双线程,面对双核心四线程的Atom N2800还是略有不足,但也不错了,毕竟后者频率也更高。
整数处理解压测试:基本同上。顺便可以看出,超线程能够提升56%,第二个A9核心则能提升52%。
这两项综合显示,同频率下,四个A9核心基本上只相当于一个Xeon核心,后者如果开了超线程就需要六个A9核心才能匹配。
GCC编译:单线程性能略属于Atom,但六个A9核心才能比得上一个不开超线程的Xeon核心,而且别忘了Xeon还是运行在虚拟机里的。
这几项理论测试显示,四核心Cortex-A9在对内存延迟敏感的服务器负载里表现还是可以的,1.4GHz下基本能够媲美1.6GHz的Atom,但内存带宽受限严重,即便内存频率比人家高一倍。
无论ARM还是Atom,在编译、安装、更新软件方面都捉衿见肘。在虚拟机里使用两个Xeon逻辑核心编译一个简单的软件,耗时仅37秒钟,单核心Atom花了275秒,四核心ARM也要137秒。
【实际应用测试】
不过上边都是理论测试,也没有发挥ARM服务器多节点、高性能光纤互连的特性。该看看真正的应用了。
Calxeda宣称,ARM服务器并非面向一般IT管理,而是适合以下四种环境:Web应用、中间层应用、离线分析、存储和文件服务。
为此假设两套服务器。Xeon方面除了两颗E5-2650L,还加入两颗E5-2660 2.2GHz/95W,同样八核心十六线程,这就总计四颗、32核心、64线程。搭配128GB内存、ESXi 5.1虚拟环境创建24个虚拟机,每个里边都假设一个PHPBB(Apache2/MySQL)网站,各自分配4个逻辑CPU核心、4GB内存,占用硬盘空间约8GB。再模拟75个并发用户,每0.6-2.4秒发送一个新的请求。监控使用vApus压力测试框架。
这相当于每秒钟有几千个用户点击十几个网站,一天下来就会有上亿次点击。实际测量网络流量峰值8Gb/s,高于典型的4-6Gb/s。
ARM方面负载相同,但用的不是虚拟机,而是24个物理节点。
图中数据都是每秒响应次数(越高越好)。在并发用户较少的时候,96个ARM A9核心要比两种32个Xeon逻辑核心都慢一些,但随着并发用户数的增多,ARM开始反超,相比E5-2650L快了足有50%,甚至比E5-2660都快不少。
Calxeda还提供了一些优化方法,不过倒腾下来结果并没有好多少,反而还略有倒退。E5-2650L经过优化之后倒是提高了一些成绩。
再看响应时间(越低越好)。ARM仍然是在并发用户数多的时候更胜一筹,不过优化没啥效果,反而再次退步了。看起来在软件优化上,ARM路漫漫兮。
【功耗测试】
这或许将是ARM服务器最为依赖的绝招之一了,真会很省电么?
Calxeda/ARM真的做到了:每个服务器节点的平均功耗只有大约8.3W,正好符合官方宣称的6-8.5W,而待机时候仅仅5.6W,距离官方说的5W也很接近了,峰值也不过10W。
而且这些都是优化后的成果,说明尽管性能没上去,但至少功耗下来了,同样可喜可贺,而在优化前待机、平均、峰值功耗分别为6.8W、9.1W、10.5W,效果还是很明显的,尤其是待机的时候,不优化可是要比Intel更耗电的。
再考虑处理器频率、服务器空间因素,ARM相比于Xeon平均能节约功耗10%,待机时则省18%。
【价格】
Boston Viridis ARM服务器要多少钱?24节点、1.4GHz、96GB内存的一台官方标价2万美元,真的很贵。
要知道,一台戴尔R720有两颗Xeon E5-2650L、96GB内存、双万兆网络,才不过8千美元,买两台还能剩下4千。
但如果批量采购,Boston Viridis每台可以优惠到8500美元,每个节点才352美元,基本就差不多了,但在服务器采购上,一般达到20台能享受10-20%的折扣,所以此时Xeon E5的大约要6500-7200美元。
【结语】
ARM架构天生孱弱的性能决定了它不可能在速度上去比拼Intel Xeon,后者可以在几乎任何一个方面轻松完秒它,而且配置更加灵活,软件支持和优化也更为完善,生态系统羡慕死你。
Calxeda也并非不知道这一点,特别强调ECX-1000 SoC只适合初期体验,下一代基于Cortex-A15架构的同样也会如此,不会全面铺开。而根据测试,比较适合这种ARM服务器的是需要应付一定网络流量的Web服务器集群,或者流媒体服务器、存储服务器,这些CPU负载不是很高的地方,以及非常在意功耗的客户。
当然,ARM真正要在服务器领域内发威还得等待64位的ARMv8 Cortex-A50系列,Calxeda也准备届时开始爆发。ARMv8架构有很多专门针对服务器设计的地方,无疑更适合。
尽管完全无法和Xeon媲美,Calxeda ECX-1000的进步仍然堪称革命性的,如约做到每个节点8W的功耗值得赞叹,而且别忘了这只是40nm工艺的。Intel Atom性能差不多,工艺可是新的32nm。
Calxeda的下一代服务器ARM芯片组“Midway”正在开发之中,预计会在今年第三季度登场,届时会使用28nm Cortex-A15架构,单线程整数性能将比现在提升50%,可寻址内存达到16GB,当然功耗也会稍高一些。可以预料,届时的ARM服务器将能适合更多环境,包括分布式内存缓存、大型Web、中型服务器等等,而且还会支持KVM、Xen虚拟机(不过ARM真正想在虚拟机上跑起来还得等ARMv8)。