ARM服务器有优势与不足
没有金刚钻,别揽瓷器活。ARM芯片在手机和嵌入式市场取得成功,是否意味着在用户需求和生态系统都更加复杂的服务器领域也能获得一席之地呢?总结来看,ARM芯片主要凭借的是两大优势:低价+低功耗,不足则也有很多:芯片架构需要重新设计去实现更多企业特性需求如缓存一致性、容错与高可用等,软件生态环境需要重新梳理和打造,不支持64位应用等。
两大优势:
相对于英特尔主导的X86架构,ARM架构的最大优势在于两点:低功耗与低成本。
由于数据中心里有1/3的支出都用于电费开支,企业对低功耗服务器的需求比较迫切,这也使得近年来英特尔和AMD开始关注低功耗服务器芯片的研发,甚至与一些企业用户联合研制基于移动芯片如Atom的服务器。ARM在这方面的优势极为明显,一般是x86芯片的五分之一。
▲休眠状态Cortex-A8处理器的功耗是Atom的百分之一,正常工作状态 Atom功耗比A8大18倍。以1400mAh电池为例,基于Cortex-A8处理器的上网本休眠状态下可以运行数周,Atom只能运行0.8天,如果正常使用Atom可以运行0.4天,A8却可以运行6.9天。
而在成本上,ARM芯片也只有几十美元,是英特尔至强处理器的十分之一。因此,对于像Google、eBay、Facebook等动辄需要成千上万台服务器的数据中心用户来说,仅凭这两点,就能够省下许多真金白银,非常有“杀伤力”,这也是为什么今年以来ARM传闻不断的根源。
三大不足:
1)支持软件数量少
由于ARM属于RISC架构,但目前服务器应用最普遍的是x86架构。虽然当前实验证明在ARM平台能够运行Linux系统,但支持的应用软件数量有限,跟成熟的x86架构相比还有很大的差距,而且目前也无法支持中小企业常用的Windows Server,对虚拟化的支持也还在研究当中。因此,在操作系统和应用软件层次上,可能需要对多核ARM架构进行一些特殊的修改,而且后续的软件移植、兼容性测试与认证、产品化以及说服用户迁移等都是一个很长的艰苦过程。目前,ARM的软件生态圈主要包括Android, Adobe Flash Player, Java Platform Standard Edition (Java SE), JavaFX, Linux, Microsoft Windows Embedded, Symbian和Ubuntu, 以及超过700家ARM社区成员,提供应用软件、硬件和软件开发工具、中间件和SoC设计服务。
2)不支持64位应用
作为一种32位指令集架构,ARM可以用在亚马逊、Facebook等企业的32位应用中,但Google、雅虎等大型数据中心客户希望能够使用64位ARM处理器,以应付MapReduce、Hadoop等内存密集型算法。毕竟,现在大多数服务器应用已经转向64位。实际上,现有的ARM架构对大容量内存支持很有限,一般很难看到能支持2G以上内存的ARM芯片,更别说服务器方面常见的4G以上内存。
3)ARM架构设计缺陷与性能不足
著名云计算专家、Amazon Web Services团队成员James Hamilton认为,虽然ARM架构支持Atom尚不支持的ECC内存,但是在芯片层不支持一致性缓存(Cache Conherent),并缺少优秀的内存控制器,使的ARM芯片无法像最新的Nehalem芯片那样应对主流服务器应用。比如,由于没有缓存一致性的功能,早期的多核ARM设计芯片如Marvel MV78200,还难以支持同一个应用去利用两个核心。
另外,虽然ARM芯片功耗极低、也更便宜,并且Cortex A9芯片已经具有四核心,主频已经达到2GHz,但性能上还不能与主流的至强、皓龙等x86服务器芯片相比,性能还需要进一步提高。