我们已经到达了服务器节点的核心:这些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内核?