ARM价值几何 Calxeda服务器评测报告上篇

基于ARM的服务器恪守了极低功耗和优异的每瓦性能比,同时还有可能将一个难以置信的数量的服务器放在一个机架上——现在已经实现了在一个机架上放置多达1000个ARM服务器(在一个2U的机箱内可放置48个服务器节点),而所有这些节点消耗少于5KW的电能(或者一个四内核ARM节点消耗大约5W)。

  但是当一种新技术被大肆宣传时,最好还是保持怀疑态度。由于人们乐于了解一些新的东西,所以媒体总是铺天盖地地宣传和热议新的趋势;但是到了最后,系统管理员不得不保障其IT服务正常运转,并说服其老板投资于新的技术。

http://images.anandtech.com/doci/6757/CalxedaServerClose-front_678x452.jpg

  关于ARM与x86服务器之间的纷争,已经有成百上千篇的评论并将有更多,但是一直没有在真实的基准测试环境进行过一次测试,这正是我们今天将要探究的所在。我们在我们运行了24个网站的Boston Viridis集群系统上加载了一些重量级的负载——同时还有其他的应用——并测量了流通速率、响应时间和功率消耗。我们将其与低功耗的至强(Xeon)进行了比较,以揭示出目前商用的ARM服务器与最好的英特尔至强产品的对比,包括性能功耗比和性能价格比;不管你的测量数据是多少,我们有一手的可靠数据。

  乍一看,ARM CPU相对较低的每核性能似乎是服务器的一个较差的搭档。毫无疑问的是:在服务器市场上占统治地位的CPU是英特尔的至强处理器。至强系列的成功,很大程度上源于其在中等功耗(70-95W)时优异的单线程(或者每个内核)性能。将这种超群的单线程性能与相应的内核数量相结合,你就几乎可以为任何应用实现良好的性能。规模经济和相应的价格档次也很重要,但是如果响应时间更短和电费更加少,服务器市场已经愿意稍微多付出一些。

  一项证明单线程性能仍然十分重要的数据是Oracle(或者你愿意称之为Sun也行)的T系列的演进。Sun T3拥有16个核和128线程,但是T4却只有每个带有8线程的8个内核,其首席执行官Larry Ellison不止一次地兜售其单线程性能已经得到大幅度地提升,实现了高达5倍的提速。我们真的需要另外一种建立在一个更慢、但是能效更高的内核集群上的服务器吗?难道历史没有告诉我们几头“公牛”是优于一群“小鸡”吗?

  历史也已证明每台服务器上的内存也很重要,许多高性能计算机(HPC)和虚拟化应用都受制于随机存储器(RAM)的数量。现今的Cortex-A9这一代的ARM处理器用一个32位的地址总线,并且不能支持超过4GB的内存。

  然而,对基于ARM的服务器的兴趣却在不断增加,而且已经不再是停留在宣传的层次上。是的,基于ARM的处理器仍然在处理能力上有所欠缺,而且至强处理器的内存控制器能够处理大量的双列直插内存模组(DIMM),但是当谈及成本和功耗时,ARM处理器的得分就高了不少。

  基于ARM的处理器在性能上也有巨大的进步。测试数据表明:一个在2011年发布的1.2GHz的双核ARM Cortex-A9(三星Exynos 1.2GHz)比2008年发布的、通用的ARM 11压缩速度要快10倍。根据Anand用iPhone进行的测试,SunSpider的性能也提高了20倍(尽快这种提升几乎肯定部分得益于浏览器和软件优化)。最新的ARM Cortex-A15毫无疑问地更加强大,提供了大约50%的性能提升。A57将增加对64位的支持,并再有20-30%的性能提升。简而言之,单线程性能正在被快速提升,同时也可以连接到更大量的RAM上。ARM Cortex-A9受制于4GB,但Cortex-A15能够处理16GB,且A57能够处理的远远更多。

  看起来ARM产品在服务器这个细分市场上开始大量发货只是一个时间问题,那么还需要多久呢?最好的观察方法是探究今天已经付运商用的最成熟的ARM处理器:基于嘉协达(Calxeda)的Boston Viridis服务器。看看这种服务器现在能处理什么?它还有什么样的潜能可以发挥?其缺点有哪些?让我们共同去发现。

 

2这是一个集群

 

  这是一个集群,而不是一台服务器

  当打开Boston Viridis服务器的包装时,首先映入眼帘的是鲜红的前面板。那是Boston告知我们拥有的是一种“云设备”版本的一种方式。带有橙色边框的型号主要作为NAS设备,紫色则代表应用于“web服务器农场(web farm)”,蓝色更适合于一个Hadoop集群。另外一项观察是其机箱结构看起来很像最近的SuperMicro服务器,它实实在在是一种充满了Calxeda硬件的极简约系统。

http://images.anandtech.com/doci/6757/Viridis_no_SSD_575px.png

  在前面板后面,我们发现了24个2.5”硬盘插口,它们可以接插SATA硬盘。如果我们从背后来看,我们可以发现一个标准的750W 80 Plus Gold电源单元、一个串行接口和四个SFP连接器。这些连接器每个都能够支持10Gbit速度的、采用铜缆和/或光纤的SFP(+)收发器

  当我们打开机箱时,我们发现了一些不太标准化的硬件。装在底部的是你可以称之为主板的、一个大型的、大部分都是光板的印刷电路板(PCB),它带有共享的以太网器件和一些PCIe插槽。

  在嘉协达的EnergyCore系统级芯片(SoC)上提供了10Gb的媒体访问控制器(MAC),但是为了使每个节点通过SFP端口来实现通信,每个节点将其以太网数据流推送到前面4张卡中的一个(插在0 – 3插槽上的卡)。这些节点通过一个XAUI接口连接到两个Vitesse VSC8488 XAUI转串行收发器中的一个,它们两个器件分别各控制两个SFP模组。藏在一个空气导流管后面的是一片Xilinx Spartan-6现场可编程门阵列(FPGA)器件,它被配置作为机箱管理器。

  每对PCIe插槽上是将这台机器变成一个服务器集群的关键:一块EnergyCard(EC)。每一块EnergyCard上带有4片SoC,每片上都带有一个DIMM插槽。一块EnergyCard上这样就包含四个服务器节点,每个节点都运行了一个4核ARM CPU

  该机箱能够支持多达12块EnergyCard,因此现在就有多达48个服务器节点。其上限仅受物理空间的制约,因为其交换矩阵可以支持多达4096个节点,如果嘉协达对现有的EC提供了后向兼容能力,那么就留下了进行重大扩展的潜力。

  我们收到的系统只能够支撑6块EC,一个EnergyCard插槽因为SATA连线而被占用,所以我们有6块每块支持4个服务器节点的EC,或者总共有24个服务器节点。该设备颇有创意地提供了空气隔板,他们可以引导空气流过ARM芯片上的散热器

  其空气隔板由颇有讲究的敷塑料膜纸板制成,采用胶粘结合在一起并用塑料钉固定在EC上,使其很难用手将它们从一块EC上剥离。除了Slot 0的卡上需要一种体积更小的隔板,其他每一块EC能够随意地插在主板上。

  现在每块EnergyCard上都带有4片EnergyCore SoC,每片都连接到一个miniDIMM插槽和4个SATA连接器。在我们的配置中,每个miniDIMM插槽都带有一片Netlist的4GB低电压(1.35V而不是1.5V)ECC PC3L-10600W-9-10-ZZ DIMM。所提供的每片SoC连接一个256GB的三星固态硬盘(SSD)上(MZ7PC256HAFU,与三星的310系列消费性固态硬盘兼容),用完了机箱内所有的硬盘插槽。我们移除了这些SSD,并用我们的iSCSI SAN来引导服务器节点。采用这种方法,更容易比较该系统与其他服务器的功耗。

  在以前的EC版本中,每个节点曾经在背后带有一个microSD插槽,但是在我们的版本中已经被移除。这些插卡是拓扑上无需分辨的,每个节点能够识别出它被放置的地方,这样你就可以根据其系统位置来寻址和管理节点。

  服务器节点更深入的观察

  我们已经到达了服务器节点的核心:这些SoC。Calxed从ARM那里获得了知识产权(IP)的授权,并在其上设计了自己的系统级芯片,并为其取名为Calxeda EnergyCore ECX-1000 SoC。现有的版本采用台积电40nm工艺制造,运行主频为1.1GHz至1.4GHz。

  让我们从该SoC上熟悉的单元(黑色部分)开始:外部I/O控制器。该芯片带有一个可支持3Gb/s的SATA2.0控制器、一个提供SD和eMMC读取的通用媒体控制器(GPMC)、一个PCIe控制器和一个提供高达10Gbit速度的以太网控制器。在此系统还不能使用PCIe连接,但是嘉协达能够提供“主板”的客制化设计,使客户在需要时连接PCIe卡。

  另外一种在到达真正的处理器前不得不介绍的器件是EmergyCore Management Engine (ECME)。从本质上讲这就是一片系统级芯片,而不是像你在通用的服务器中发现的一个BMC。该ECME带有一个Cortex-M3处理器内核,能够提供固件管理、传感器读出并控制处理器。在真正的BMC设计中,它可以通过一个IPMI指令集控制,现在采用嘉协达自有版本的ipmi工具实现。如果你想进一步深入到一个节点,你可以使用ECME的通过局域网的串行连接功能(Serial-over-LAN),尽管它不提供任何类似于KVM的环境,此时已经简化到没有(鼠标控制的)图形化界面。

  处理器组合

  由于带有4个32位的Cortex-A9内核,每个内核还带有32KB指令和32KB数据L1缓存,该处理器单元在一定程度上与我们在今天的智能电话中所看到的相似,一个区别是这种SoC包括一个4MB的支持ECC的L2缓存,而大多数智能电话SoC只有1MB的L2缓存。

  这4个Cortex-A9内核运行的主频介于1.1GHz与1.4GHz之间,并带有用于优化的SIMD处理的NEON扩展,一个专用的FPU,可兼容来自x86 CPU的NX/XD扩展的“TrustZone”技术。Cortex-A9每个时钟周期内能够对两条指令进行解码,同时能够分发多达4个指令。这与凌动处理器(Atom)十分相当(2/2),但是当然远不及现今的至强"Sandy Bridge" E5 (4/5条解码, 6条分发)。但是这种SoC的真正出色之处是其功率消耗,嘉协达介绍说,在1.1GHz有负载时整个服务器节点功耗可低至5W,而在空闲时则为0.5W。

  交换矩阵

  该SoC中最后一个单元是EC矩阵交换机,该EC矩阵交换机是一个连接到5个XAUI端口的8X8栓锁式交换机,这些外部的连接用于连接交换矩阵的其他部分(相邻的服务器节点和SFP),或者连接SATA2端口。服务器节点上的操作系统可识别两个10Gbit的以太网接口。

  真如嘉协达在其广告中所说的那样,其产品带有的可扩展性是其重要功能之一,他们已经在各个节点间创建了快速的而且大容量的连接。这种交换矩阵拥有多种连接拓扑选项,以及针对所需要的速度,或在应用为省电不需要高带宽时而特别进行的优化。例如,这些交换矩阵的连接能够设置在1、2.5、5和10Gb/s上。

  他们的这种方法的一个重大加分项就是你不需要昂贵的10Gbit机架顶置交换机来连接各个节点,取而代之的是你只需在两个机箱间插入一根线缆,使交换矩阵相互融合扩展而已。请注意这不同于虚拟化的交换机,后者的CPU忙于处理layer-2层的流量。这种矩阵交换机实际上是一种物理的、分布式的layer-2交换机,而且完全是自主化运行——其CPU组合支持这种交换机的工作。

  以上是关于Boston Viridis硬件部分的介绍。作为目前唯一一款送测的服务器,相信很多人会对这款产品的更多细节产生兴趣,比如这款产品性能怎样、能够满足什么样的应用环境等,这部分内容将在下篇中全部展示。