服务器 频道

部分性能超越X86 嘉协达ARM服务器评测

  【IT168 评测】 ARM服务器如今已经成为了行业讨论的热点,特别是今年1月份百度在南京数据中心成功应用ARM组建了首套商业系统,这似乎也证明着ARM进入数据中心的一种趋势。近日,国外独立评测机构AnandTech发布了一篇ARM服务器的测试文章,我们将其译为中文,一起看看ARM究竟有着怎样的表现,感谢本文作者Johan De Gelas的辛苦测试。下面是正文——

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

嘉协达ARM服务器评测

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

  关于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服务器。看看这种服务器现在能处理什么?它还有什么样的潜能可以发挥?其缺点有哪些?让我们共同去发现。

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

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

  在前面板后面,我们发现了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组合支持这种交换机的工作。

  软件支持

  嘉协达支持Ubuntu和Fedora,尽管任何基于(32位)ARM Linux核心的演化系统理论上都能在EnergyCore SoC上运行。至于可以供货的系统,在Ubuntu ARM软件库中已经可提供预置的Highbank核心图形,同时嘉协达也已经建立了其自己的PPG,以简化核心开发。

对服务器节点更深入的观察

  该公司也加入了致力于将开源生态系统移植到各种ARM SoC上的非盈利组织Linaro。

  ARM服务器的CPU

  一个双核至强E5处理器或者Opteron 6300服务器拥有远多于我们中大多数人去运行一种服务器应用所需的处理能力,这就是我们不常见到10、20或甚至更多的虚拟机运行于其上的原因。极大型数据库或者HPC应用是可以看到的例外,但是通常来看,服务器购买者很少担心新的服务器在运行一种应用时是否足够快。

  回到我们的Boston Viridis服务器,隐藏在该服务器后面的整个理念不是去进行虚拟化,而是给每项服务器应用提供其专享的物理节点。每个服务器节点都有一个带有4MB 二级缓存和4GB RAM的四核Cortex-A9处理器。在这种情况下,“这个服务器节点能够处理什么?”这一问题变得更为相关。我们将在本次测评中为你展示一种真实的负载,但是我们认为首先将EnergyCore-1000的性能组合标定在1.4Ghz可能更合适。我们采用了4种不同的基准测试:Stream、7z LZMA压缩、7z LZMA解压缩、以及完成/gcc创建和编译。

  我们将ECX-1000(4核、3.8~5W、40nm)与一款英特尔Atom 230 (1.6GHz单核加超线程、4W TDP、45nm),Atom N450 (1.66GHz单核+ HTT、5.5W TDP、45nm),Atom N2800 (1.86GHz 双核+ HTT、6.5W、32nm)以及一款英特尔Xeon E5-2650L (1.8-2.3GHz 八核、70W TDP、32nm)进行了比较。

  最相当的凌动处理器应当是Atom S1200,它是英特尔的首款微服务器芯片。尽管后者尚未提供给我们,但是我们在测试中主动地使用我们手里最新的英特尔凌动处理器。我们将在我们能够获得一个Atom S1200系统后立即更新我们的数据。Atom N2800应当非常接近于S1200,因为它拥有相同的架构、二级缓存大小、TDP,并运行在相似的时钟速度上。Atom N2800支持DDR3-1066,而Centerton将支持DDR3-1333,但是我们有理由相信(以下会说明)这并不重要。

  Atom 230/330和N450都是较早的45nm芯片(2008-2010),同时在你认为使用Atom 230和N450是无意义之前应当注意到:凌动的架构多年来未有改变。英特尔已经降低了功率消耗、提高了时钟速度、并集成了一个(略微)更快的内存控制器,但是从根本上看Atom 230带有与最新的Atom N2000一样的内核。我引用Anand的简洁表述就是:“凌动处理器迫切需要一种架构更新(我们在2013将得到)。”

  到目前为止,Atom 230和N450的数据给我们了一条去评估“非内核”方面的改善如何影响服务器性能的好途径。去观察ECX-1000将拥有哪些实在的方面也非常有趣。它将超越N2800吗?或者仅仅只是优于早先的Atom内核?

  首先,十分感谢在基准测试中支持我的Wannes De Smet。以下你们可以看到我们“真实服务器”的配置细节。凌动服务器是一组混合系统,Atom 230是一台带有Pegatron IPX7A-ION主板的1U服务器的一部分,板上有4GB的DDR2-667内存。N450则藏身于一台华硕EeePC上网本,而Atom N2800搭载在英特尔的DN2800MT Marshalltown之上,后者带有4GB的DDR3-1333,而前者只有1GB的DDR2-667。

基准测试的配置

  每种至强E5 CPU都有4个内存通道,并支持DDR3-1600;因此我们的双CPU配置共有8个DIMM,以实现最大带宽。每个内核都支持超线程,我们正在观察带有32个线程的16个内核。

  通用的存储系统

  一个iSCSI LIO Unified Target连接到一个DataON DNS-1640 DAS上,在DAS内部,我们RAID-0上设置了8个英特尔SSDSA2SH032G1GN (X25-E 32GB SLC)。

基准测试的配置

  软件配置

  至强E5服务器上运行的是VMware ESXi 5.1,所有的vmdk文件都是加厚提供的、独立的和持久的。其功耗策略是“低功耗”,我们选择低功耗策略的原因是这将使其能够运行在C-状态,而同时对性能的影响最小。所有其他系统都运行Ubuntu 12.10,其功耗管理策略是“运行中”,这使Atom和Calxeda ECX-1000能够运行在P-状态。

  测量带宽

  测试数据流测量“可持续的内存带宽”,因此是一个CPU将如何处理数据密集型应用的一种好的显示方法。John McCalpin博士是STREAM基准测试的开发者和维护人。

  我们在所有平台上使用gcc 4.7来进行编译,并使用了-O3-fopen-静态设置,必须提醒的是这一版本的gcc已经由Linaro团队加以优化,Linaro是一个非盈利的软件工程组织,其目标是优化用于ARM-Cortex A系列CPU的软件核心和常用工具。

  在英特尔的CPU上,我们强迫线程去使用带有任务设置的超线程。例如,4个线程的测量针对的是带有4个线程的两个物理内核,其理念是如何用一个四核的ARM服务器节点来对比一台由管理程序分配了一些物理内核和一些逻辑内核的虚拟机。这也使我们能够去评估一个凌动处理器内核上的两个线程与两个ARM内核的对比结果。当你用相近的功耗去对比不同的CPU时,你通常用两个ARM 内核去对比每一个超线程的凌动处理器内核。

带宽和运算能力测试

  对于现在比较的内存密集型负载,基于ARM的服务器是一种相对差的选择。即使使用4个内核和DDR3-1333,可用的带宽少于一个至强内核可持续提供的带宽的六分之一。

  沿着相似的脉络,ECX-1000不能提供比一个搭载了DDR2-667的凌动系统更大的带宽。但是就带宽而言,凌动和ARM内核双双的表现都非常差。尽管其规格都声称这些CPU都能够驱动一个DDR3-1066通道,实际测量的带宽都远远达不到这样一种DIMM能够提供的8.5GB/s的理论值。

  整数处理

  为了测量不同CPU的整数处理潜力,我们将转向使用几种不同的工作负载。第一步,我们使用了7z LZMA压缩和解压缩,再一次观察了从一到四个线程的性能。在下一节,我们将观察使用gcc编译器时的性能。

  压缩

  压缩是一种低IPC工作负载,它对内存的并行性和延迟敏感。指令混合有一点不同,但是这种工作负载仍然在一定程度上与许多种服务器负载相似。

带宽和运算能力测试

  从时钟与时钟的对比看,嘉协达ECX-1000中无需排序的Cortex-A9胜出了Atom有序的内核。单个Cortex-A9毫无悬念地胜过了早期的凌动,而与时钟高出许多的N2800非常接近,N2800与ECX-1000性能相似。

  解压缩

  解压缩是下分支指令(branch)相当密集型的任务,同时取决于增加和转移指令的延迟。

带宽和运算能力测试

  下分支指令的错误预报很常见,而且凌动凭借其同步多线程(SMT)内核非常好地处理了下分支指令错误预报。得益于超线程的提升效应此时是非常大的:第二个ARM Cortex-A9内核实现了52%的提升,而超线程实现了56%的提升。这是非常意外的,因为超线程的性能令人担忧。

  同时观察解压缩和压缩,看上去一个四核ARM Cortex-A9在同样的时钟速度时,它与一个至强内核(没有超线程)的速度相当。我们需要6个Cortex-A9内核来匹配一个使用了超线程的至强内核。1.4GHz的四核ECX-1000也接近于1.86GHz的双核、四线程凌动。这对嘉协达来讲是个好消息,因为6.1W的S1240 的主频仅为1.6GHz。

  创建和编译

  我们通过执行一次生成-jx(x是线程的数量)来编译7z源代码。编译是下分支指令密集(22%)的工作负载,它完成了主要的上载和存储(大约40%)。

带宽和运算能力测试

  分析单线程性能可发现,ARM Cortex-A9和凌动处于同一层次。这是一种至强的Sandy Bridge内核可以大放异彩的工作负载。你大概需要八个Cortex-A9内核来胜出一个至强(不带超线程)。不得不说:与凌动和ECX的长时间等待相比,在基于至强E5的虚拟机内进行编译是一种非常愉悦的体验。

  一个四核Cortex-A9在处理大多数内存延迟敏感的服务器工作负载时可谓得心应手。一个1.4GHz的四核Cortex-A9 ECX-1000可以毫无疑问地匹敌时钟速率稍高(1.6GHz)的凌动处理器。其唯一的例外是:带宽需求较大的工作负载。

  基于凌动和基于ARM的服务器都有弱点,在处理诸如编译、安装以及更新新软件等典型的“管理”任务时相当缓慢。用仅有两个至强vCPU(运行在一个内核+HTT)的服务器来编译一段相当简单的VM软件只需用37秒,而一个单核凌动服务器需要275秒,同时一个四核的ARM ECX-1000需要137秒。

  但是Boston Viridis远不止是一个带有24个服务器节点的机箱,它拥有高性能的交换开关矩阵,因此现在是来探究在真实服务器环境中这种服务器有什么功能的时候了。

  寻找一个良伴

  上述的基准测试表明嘉协达服务器首先不是面向通用的IT市场。如以下幻灯片显示,嘉协达主要面向四种工作负载:网站应用、中等应用、离线解析、存储和文件服务。

到目前为止的收获

  对于诸如Memcache等应用,1.4GHz的ECX-1000缺乏带宽和内存容量。一旦基于Cortex-A15的服务器上市,这种形势将会很快出现改观,因为性能将被显著地提高,同时每个CPU的内存量将被扩展四倍到16GB。

  我们尚未对此进行测试,但是我们的经验告诉我们:大多数“超尺度”应用还是在可触及的范围之外。特别是在金融和风险建模等领域内,顶级的性能和超短响应时间被置于优先。

  基于嘉协达的Boston服务器已经开始转向成为存储服务器,在一台存储服务器中使用低功耗的处理单元更为合理。

  这带来了一个问题:嘉协达的最新服务器是否能够在网页服务器和内容分发市场中获得成功?嘉协达声明每个服务器节点5W的功耗,以及一个完整的、带有24个服务器节点的机器的功耗不超过250W。这相当不错,但是现在还有另一种解决方案。两个八核至强E5提供了运行在16个非常强大的内核上的、不少于32个的线程。增加一个虚拟化层,你就可以得到数十台服务器,通常情况下唯一的限制是RAM的数量。

  现在假设你是一家托管服务供应商,你将采用什么样的服务器来作为你的构建单元呢?你已经有两个选择。标准的这个是英特尔至强E5服务器,其优点是无论你何时需要就有的优异性能,无论你的应用如何扩展只需更多的线程。至强处理器可以面向高达384GB的、可负担得起的RAM(多个16GB DIMM),如果使用更贵的LR-DIMM还有可能达到768GB。

  那些都是令人印象深刻的规格,但是如果你的大多数客户仅仅想要托管中等规模的网站,网站的内容丰富、同时对处理能力要求不高?Boston Viridis服务器能够用一个远远更低的功耗来吸引这些用户吗?如果你通过分割至强服务器巨兽般的性能来构建虚拟机还能走多远?我们决定一探究竟。

  我们构建了两套系统,至强系统带有两对不同的至强CPU、128GB内存和ESXi 5.1。我们在至强服务器上创建了24台虚拟机,在每一个虚拟机中我们设置了一个带有四个虚拟CPU和4GB RAM的phpBB(Apache2, MySQL)网站,每个网站使用了大约8GB的硬盘空间。我们模拟了高达75个并发用户,他们每隔0.6 – 2.4秒发出新的请求。

  Boston Viridis服务器被加以了相同的工作负载,但是替代使用虚拟机的是:我们使用了24个物理的服务器节点。

  自从在2010年后期被重新设计之后,我们的vApus stresstesting framework 非常适合于用大量并行的工作负载来点击(无论是否是虚拟化的)集群。一台四核7400服务器能够产生24个测试用户,该服务器被连接到我们的Dell PowerConnect 8024F (10Gbit以太网)上,后者被连接到被测试的服务器上。

我们的真实环境测试
可同时点击24个网络服务器

  使用这种方法,我们能够对一种网站托管环境进行仿真,其间的数十个网站每秒被数千个访问者点击。这听起来可能不令人印象深刻,但是这些每秒数千个请求给一个网站环境每天带来了一亿次点击。

  因为我们确保了我们的网站服务器能够提供一些高质量的图片(png),因此所发生的网络流量是巨大的。我们测试到的峰值达到了8Gbit/s,同时典型的网络流量是大约4 – 6Gbit/s。

  结果非常重要

  在你跳到下面的图表之前,我们建议花一些时间来恰当地翻译一下结果。首先,我们在网站服务器模拟了每秒5到10位“繁忙”的用户。当一位用户点击网站上的某个地方时,这将产生一些请求或者数十个请求。例如,连接网站上的论坛将产生两个简单的“GET”请求,同时发布一条回复将产生一次雪崩般的56次POST和GET,这就是我们为什么以“每秒的响应数”来报告性能的原因。如果你用统计上足够大的数量来分析它们,从CPU负载点的角度来看,响应从某种程度上是与之相似的。用户行为是如此的不同,以至于在一些情况下每个数秒去执行两次用户行动,能够产生比每秒20次用户行动都还要多的处理能力和网络带宽需求。

我们的真实环境测试

  在低并发率时,英特尔的机器充分发挥了超级提升(turbo boost)功能及其优异的高每内核性能。在更高的网站负载时,总共96个(24 x 四核SoC)ARM Cortex-A9内核的总吞吐量比低功耗32线程/16核(2 x 八核)至强高出多达50%。即使强大的2660也不能胜出ARM SoC的集群。

  尽管我们在x86服务器上有数不胜数的经验,但是我们在基于ARM的服务器上几乎为零,所以我们联系了嘉协达的工程人员,并且得到了一些颇有价值的优化建议。其结果是内部交换矩阵能够用多种方式来调配。例如,从一个节点出来的连接速度被默认设置为了2.5Gbit/s,在考虑到我们通常都受制于CPU并使用每个节点低于0.5Gbit/s时,这是相当的高了。将每个节点的连接速度降至1Gbit/S将降低功耗,并仍高于足够的带宽。我们也从嘉协达的PPA(Personal Package Archive)核心更新到略新的软件核(155)。这使我们能够采用CPUfreq工具来使用动态电压和频率扩展(DVFS,P-状态)。首先让我们看看如果进行了这些节能微调,是否降低了整体吞吐量。

我们的真实环境测试

  这些调整没有给吞吐量带来任何提升(在很多情况下,其分值还略微降低),但是这些调整可能降低功耗和/或相应时间,让我们接着探究。

  响应时间

 

我们的真实环境测试
 

  如前一次,英特尔的机器在更低的并发率时性能更好,但是ARM服务器在高负载时提供了更短的响应时间,我们的优化对响应时间没有影响。

  能量和功耗

  现在到了一个百万美元问题:Boston和嘉协达在创造一种具有惊人的高性能/功耗比服务器上取得成功了吗?你们自己判断吧。

我们的真实环境测试

  嘉协达真正地做到了这一点:每个服务器节点大约8.3W(200W/24),这是从墙上插座处实测得到的。这确实是嘉协达所承诺的:每个服务器节点(内部测量)大约6W(运行在1.4GHz),而外部测量升高到8.5W(同样运行在1.4GHz)。如果考虑到性能指标,这是让人不得不吃惊的。

  此外,在使用CPUfreq并降低服务器互联速率时,我们得到了平均10%的功耗降低,以及在空闲时18%的功耗降低。这些优化对于空置时的功率消耗尤为重要,它们是比英特尔服务器的功耗略高和略低这一差异的关键所在。

  定价

  那么Boston Viridis服务器要花多少钱?一台带有24个1.4GHz节点和96GB RAM的Boston Viridis的官方报价是2万美元,这显而易见是非常昂贵。一台带有双10Gb、96GB RAM和两颗至强E5-L2650L的Dell R720服务器的价格范围是8千美元,你可以轻松地购买两台Dell R720并将性能加倍。至强E5服务器的更高的电费在这种情况下已几乎不是问题,除非你非常地节能。然而,这些系统都着眼于大规模部署。

  购买整整一个机架的产品,其价格就降低到每个服务器节点352美元,或者每个服务器8500美元。我们有一些中等数量销售的经验,我们最恰当的估计是如果你购买20台,你一般会得到10-20%的折扣。这意味着至强E5服务器可能的价格是6500-7200美元,而Boston Viridis大约是8500美元。考虑到你获得一台内置的(5 x 10Gbit)交换机,以及Boston Viridis更低的电费账单,两者的价差就不再那么大了。

  让我们清晰地看到:大多数应用在Xeon E5运行起来更好。我们的CPU基准测试清晰地说明了:任何需要经常访问内存的应用,或者需要高的每线程处理能力的应用,在至强E5上运行起来都更好。在至强E5上编译和安装软件立即可感觉到是如此的快速,不必再去做基准测试。

  还有:如果你的要求高于一个四核Cortex-A9所能提供的性能,至强E5拥有更多的灵活性并且在大多数情况下是一种更好的选择。比起采用负载平衡器和其他复杂的硬件和软件来扩展,可扩展性终究更为方便。而且,Boston Viridis的管理软件完成了该项工作,但是Dell的DRAC、HP ILO、以及Supermicro的IM更加用户友好。

嘉协达的路线图和我们的观点

  嘉协达已经认识到所有这些因素,因为他们给ECX-1000 SoC贴上了其首款“highbank”服务器架构的标签,以面向“早期采用者”。这就是我们为什么有意测试了一种与潜在早期采用者相关的场景:一个相对网络密集的网站服务器集群,因为它们提供大量的媒体文件。这是一种对嘉协达更好的场景,但是并不是最好的场景:我们可以想象一台流服务器或者存储服务器能够更加适合。特别是后一种情况,Boston Viridis的存储版本卖得不错。

  另一方面是“不会”:现有的嘉协达服务器(还)不是英特尔至强处理器的杀手。但是,我们觉得嘉协达的ECX-1000服务器节点是革命性的棘手。当我们运行16个VM软件(而不是24个)时,双核的低功耗至强能够实现与嘉协达服务器节点一样的每VM性能。这意味着这种24节点系统能够在功耗低10%的情况下,提供比现在市面上最好的至强服务器之一多50%的吞吐量,这确实让我们吃惊。每个服务器节点的8W外部功耗——确实如嘉协达所声称的那样——的确是不得不令人关注,因为这意味着现在也可提供的带有48个服务器节点的机器,是更加的高效。

  展望8W这一数字,现在的英特尔凌动处理器提供了类似的性能,也需要那样一种用于SoC的功耗,它们采用了英特尔顶级的32nm工艺技术生产。下一代的ARM服务器已经离我们不远了,并有可能在今年第三季度进入市场。这种“Midway”SoC是基于台积电28nm工艺的Cortex-A15芯片,这种28nm的Cortex-A15提供了50%单线程整数性能提升,而功耗仅仅有少量增加,并可以支持高达16GB的内存。鉴于此,可以放心地得出结论:下一款嘉协达服务器将是更大范围各种应用的好拍档,例如带有memcached的更大的网站服务器和中档的数据库服务器。届时,将借助KVM和Xen实现虚拟化,但是我们认为在ARM上的虚拟化只有在2014年带有64位ARM V8 ISA的A57进入市场时才能起飞。

  现在,单个服务器节点的有限性能使Boston Viridis对电力有限制的、对CPU要求更低的数据中心的网站应用有吸引力,但是ARM内核极低的能耗和快速提升的性能为嘉协达技术展现了光明的前景。从短期来看,这是一个细分市场;但是在一到两年后,这种方式将能够轻松地侵蚀英特尔的更高端市场。

9
相关文章