能否挑战X86关键应用 ARM服务器指标解析

从去年底开始,ARM处理器一直是一个非常火热的词汇,因为根据ARM的宣传,下一代Cortex A50处理器将不仅仅局限于移动终端领域布局,还要涉足服务器市场。即便是Cortex A50目前十分遥远,一些基于现有ARM架构的服务器似乎也呼之欲出。ARM在服务器市场能做什么?又能做到什么程度?关于ARM不但有太多内容未公开,就算是公开的部分也还有许多疑点。本文针对ARM在服务器领域几个令人看不懂的指标进行解读,看看ARM是否真的有那么好。

Calxeda:测试数据不能细说

去年7月,Boston Server发布了一款ARM服务器Viridis,应该算是行业内比较领先的ARM服务器产品,根据资料介绍,这款服务器的功耗与X86服务器相比有巨大优势,同时性能也非常优秀,作为开篇,这次就先对Viridis以及相关的一些指标进行解读。

Viridis是一款基于Calxeda公司研发的ARM处理器的服务器。Calxeda公司目前推出的ARM处理器产品为ECX-1000,该处理器主频为1.1GHz或者1.4GHz,基于ARMv7架构,芯片工艺为TSMC 40nm。由于是一款SoC芯片,因此处理器本身集成了DDR3内存控制器、4条PCIE 2.0通道以及SATA3控制器。

可以说Calxeda的ECX-1000是一款比较典型的服务器SoC了,不仅是Viridis,包括惠普在内的许多ARM服务器研发项目,都和Calxeda有合作。根据Calxeda的宣称,这款处理器在某些性能上与X86相比有绝对优势,下图就是Calxeda发布的测试数据。

根据官方的介绍,ECX-1000在AB(ApacheBench)与Xeon E3-1240相比,每瓦特性能上有高达15倍的惊人优势。不过抛开用AB测试CPU性能是否合适的疑点不说,单纯测试本身也有一些问题没有交代清楚。Apache是一个综合能力比较强的web工具,综合能力较强就意味着不同的测试环境对结果会有很大影响。比如在测试环境中使用的是静态页面还是动态页面,对于ARM和XEON这种架构差距极大的处理器来说极有可能产生完全相反的结果。

其他没有介绍清楚的细节还包括Time taken for tests和Time per request两个重要的参考数据并没有公开;对XEON平台的功耗存在虚标(E3-1240的TDP为80W,跑AB这种偏重吞吐量测试根本不会出现满载);相反Calxeda在公开的数据中比较强调两者的主频差异,但主频的巨大差异对AB测试结果的影响并没有特别大。总之,在Calxeda的测试数据中,对关键指标的隐瞒和夸大完全削弱了测试的可信度。

Viridis:说不清的性能和低效率的模拟器

解读完Calxeda的ARM处理器,再回过头来看基于该处理器的Viridis。根据已知的资料,凭借和Calxeda的合作,这款服务器实现了非常高的节点密度,在2U机箱内可以部署48个处理器共计192个运算核心,而如果以机柜来算,一个42U标准机柜的处理器数量达到1008个,共有4032个运算核心。

凭借SoC芯片在面积和功耗上的优势,目前所有即将上市的ARM服务器都有惊人的节点密度,一个机柜内有几千个运算核心听起来十分令人震惊。然而在运算性能方面,类似Linpack成绩这样的关键指标却全都只字不提,也就是说目前完全无法知道这样的产品性能如何。

另一方面,Viridis的应用也十分稀少,在宣称支持(仅是支持,还有待优化)Canonical Ubuntu 12.10、Red Hat Fedora 17操作系统,以及Perl、Python、MySQL等软件之后,Boston Server公布了一个十分令人匪夷所思的应用方案:X86软件模拟器!根据该公司首席开发官安纳托利·康努科霍夫介绍,与运行原生ARM代码相比,模拟器运行X86代码的效率约为40%。Elbrus Technologies计划明年发布模拟器公测版,2014年底模拟器运行X86代码的效率将提高到80%。

也就是说,这款标志性的ARM服务器最终选择了以模拟X86的方式运行,但目前仅能发挥出它实际性能的40%,到2014年才有可能达到80%。看到这里不禁要问一问了,这还是一台能和X86竞争ARM服务器么?