随着云计算和虚拟化的不断发展,市场急需高密度服务器的大趋势下,有关低功耗服务器的动向已开始引起人们的关注。11月1日,惠普公司公布了低功耗服务器“Moonshot”项目。
据悉,Moonshot项目的目标是,采用低功耗的ARM架构CPU,使其与以往的服务器相比,最大节省电力达89%,设置面积缩小94%,成本降低63%。特别是通过省电化,每个单位面积能装载数目更多的CPU(在惠普计划提供的平台上,1个机架能装载2800台服务器)。
■惠普采用ARM架构的服务器开发平台“Redstone”
作为Moonshot项目的开发平台,惠普公司推出了名为"Redstone"的理念服务器。目前计划于2012年上半年推出的Redstone平台是一种理念服务器,并不是正式的产品。它计划提供给惠普公司的研究机构和部分客户,通过实际测试以及进行操作系统(OS)和应用软件的开发,构筑起一整套生态系统。
Redstone采用了Calxeda的产品,该公司参与开发基于ARM体系结构的服务器CPU和平台。
由Calxeda公司独立开发的ARM单芯片系统(SoC)的「能源核心」,在CPU部分采用4核的ARM Cortex A9,并将存储器控制器等加以合并。
作为接口,支持SATA 2.0、PCI Express、支持常用的以太网协议(1GbE、SGMII和XAUI)。并且还装载有独自的Fabric控制器和管理引擎。
Calxeda公司开发的基于Cortex A9的能源核心
除了Cortex A9 CPU内核以外,在能源核心(Energy Core)上,装载有管理引擎、10GbE XAUI×5和1GbE SGMII。
此外,它还是一款装载有SATA 2.0、PCIe、SD/eMMC控制器、存储器控制器等的单芯片系统。
Calxeda公司已发布装载有4个能源核心的Energy Card,而惠普的Redstone正是采用了该Energy Card。
按以下方式计算,由于1个单元装载了18块(6块×3列) Energy Card,1块卡上装载4个能源核心,这样一来每1个单元,便可使用72个服务器节点(288内核)。
惠普公司提供在4U尺寸的底盘上装载了4个这种单元(2U尺寸的1/2)的服务器。
由于这个缘故,Redstone平台整体形成了装载了72块板、288服务器节点(1152内核)的多核服务器。
Redstone平台采用了Calxeda的Energy Card板。在Energy Card上,装载有4个由Calxeda公司开发的ARM CPU的能量核心。
在Redstone平台上,一个单元装载了18块板。
在Redstone平台中所使用的单元,尺寸为2U的1/2。在4U上,能装载4单元,装载总数为72块板。
在ARM Cortex A9 CPU中,使用了只支持32位命令的ARMv7体系结构,不能说是最适合服务器的体系结构。
因为服务器操作系统也使用32位版,一般认为其性能并不是那么高。
只是现在也计划ARM CPU实现64位化,因此可以说惠普公司的Moonshot项目正是面向未来的一种布局。
由ARM所设计的Cortex A9方块图,装载有4个CPU内核
■以64位化为目标的下一代ARM体系结构
在10月末召开的ARM开发者研讨会「ARM Tech Con2011」上,ARM终于公开了之前只有少许信息的下一代ARM体系结构「ARMv8」。
ARMv8支持基于64位命令、硬件的虚拟化支援功能等。同时,内存地址也扩展到48位地址,最大支持256TB的存储容量。在这里所采用的64位体系结构的AArch64,将通用寄存器变为64位。
对寄存器等硬件的构成进行了整理,不过仍保持同以往指令集的兼容性。总之,可以说它包含了以往的ARMv7体系结构。
因为同时支持32位体系结构的AArch32,似乎以往ARMv7体系结构的32位应用软件也可以在ARMv8体系结构中使用。关于64位指令集的AArch64,它比以往的指令集更单纯,性能得到了提高。在ARMv8体系结构中,31个通用寄存器全部实现了64位,同时备有32个128位浮点寄存器。并且,在ARMv7中,作为堆栈指示器、LINK Resist、程序计数器,使用了通用RESIST,不过,ARMv8中新准备了专用寄存器。
不仅支持现有的32位指令集,ARMv8还支持新的64位指令集。
ARMv8中所采用的通用寄存器构造
另外,在对ARMv7扩展功能的处理器内核的Cortex A15等中,虽然是32位体系结构,但通过大物理地址扩展(Large Physical Address Extensions:LPAE),可去除在系统内存和I/O等中的32位地址的限制,最大支持1TB的存储容量。并且,通过硬件装载了虚拟化支援功能。此次,在ARMv8中所装载的虚拟化支援功能,基本上使用了与Cortex A15同样的内容。同时ARMv8采用了新的异常处理方式。
这个部分与Cortex A15有所差异,在最下层分为信任域(Trust Zone)(安全执行环境监视器)、管理程序模式、客户操作系统模式、应用软件模式的4大模式。
在ARM v7中,通过将以往分成8个的异常处理整理合并成4个,减小了异常处理所花费的管理费用(over head)。
利用这个功能,可提高频繁进行异常处理的管理程序的性能,从而可进行虚拟机的高速切换。
ARM v8采用了新的异常处理模型。由此使安全执行环境监视器及管理程序等的动作实现高速化。
对于ARMv7之前的异常处理,在ARMv8中与4个模型相匹配。这样一来便保持了与ARMv7的兼容性。
从2007年开始推进ARMv8体系结构的开发,并且逐步公开了相关信息。此次,通过ARMv8体系结构的正式公布,开发实际CPU的制造厂家着手投入工作。ARMv8体系结构的CPU,将会在2012年实际公布产品原型,发表装载产品的原型要到2014年。服务器制造厂家作为产品实际公布ARMv8体系结构,可能要到2015年以后吧。
■英伟达公司不断推进开发的"丹佛计划"(Project Denver)
实际推进采用ARM体系结构的服务器用处理器的开发的是英伟达公司。英伟达"丹佛计划",负责推进面向工作站和服务器的ARM处理器的开发。与英伟达公司向智能手机和平板电脑所提供的Tegra同样,在丹佛计划上装载了ARM处理器和英伟达公司的GPU内核。
“丹佛计划”以2013年做为目标,在性能上调整为高性能,重点在高性能计算(HPC)和Cloud等领域。由于这个缘故,是否全面地采用ARMv8体系结构尚不明朗。只是如果考虑到ARMv8体系结构的样品CPU将在2013年被公布,英伟达也有可能会抢先开发ARMv8体系结构。实际上,英伟达在公开“丹佛计划”的同时,宣布已经取得ARM体系结构的许可。
ARM公司进行CPU体系结构的基本设计,作为知识产权的核心,对实际生产CPU的制造厂家授权许可。为此,通常情况下,即使是CPU内核部分使用ARM的IP,各制造厂家也会独自装载外围接口,推进单芯片系统(SoC)化。
可是,已取得ARM的体系结构授权的企业,能独自扩展CPU的体系结构。即使是丹佛计划,英伟达也有可能独自进行体系结构的扩展。对于组入型CPU等,即使制造厂家进行独自的功能扩展,因为在本公司要进行操作系统和应用软件的支持,也不会有任何问题。但如果是在服务器和工作站等上使用,则需要由众多的企业开发操作系统和应用软件。因此,关于64位化等的基本体系结构,应该使用ARM的体系结构。
在10月末召开的HPC的商讨会「SC11」上,英伟达(NVIDIA)公司的CEO 黄仁勋先生讲到,使用GPGPU,到2019年将会实现1exa-Flops的计算环境,2035年实现100exa-Flops的计算环境。
与2004年实现了40tera Flops的红色风暴同等的性能,大概到2019年通过家用游戏机也能实现吧。
与2006年由IBM开发,实现了100tera Flops的蓝色基因(Blue Gene)同等的性能,到2019年,将作为1000W的工作站加以实现。
英伟达公司计划发布覆盖从智能手机到服务器的超级计算处理器。
■ARM服务器的问题在于软件
对于ARM服务器来说,一个重大问题大概是操作系统。在ARMv8体系结构中,每一个CPU内核的性能并不是那么高,不过,通过装载多个CPU内核,则会使多线程的性能得到提高。为此,ARM公司未雨绸缪,正在与Linux团体推进可更进一步提高对多线程提供支持的的Linux 操作系统的开发。而且今后,使支持多线程的开发工具等齐备等开发生态系统的构筑,将变得越来越重要。
有关Windows Server,没有相关正式的ARM版公布。有关客户端操作系统,将会从计划2012年公布的Windows 8开始予以支持。可是,ARM版的Windows 8属于32位版,如果使用已不提供适用于x86等的32位版的Windows Server,那么即使是ARM CPU也需要有64位体系结构。
由于这个缘故,ARM版Windows Server,将会从被认为大约在2016年前后公布的,接踵而来的下下一代的Windows Server开始。如果以2016年为目标的话,ARMv8体系结构的CPU是否也将开始普及呢?同时,关于比ARMv8体系结构先行一步公布的英伟达的“丹佛计划”,不明白是否真正地支持Windows Server。如果,英伟达公司进行独自的64位扩展,并且与ARMv8体系结构有差异的部分很大,那么是否支持Windows Server将成为难题之一。
■低功耗的服务器用于何处?
低功耗的服务器,必然会被用于与现在成为主流的服务器有所不同的市场。首先,可以设想在认为并不是那么需要CPU的性能的,WEB服务器等领域的利用。再者,可以考虑适用于通过单芯片系统(SoC)化,将GPGPU内核拿进来,在高性能计算(HPC)等方面的用途。此时,ARM CPU内核,作为处理数据的控制器加以利用,实际的处理通过GPGPU进行。
在这样的情况下,因为装载有高消耗功率的GPU内核,并不是那么低功耗,不过,与在通常的服务器平台上装载GPU卡的高性能计算(HPC)服务器相比,其总的消耗功率降低了。大概英伟达计划中的“丹佛项目”,正是瞄准了这样的领域吧。
再者,x86阵营也在积极筹划发布适用于服务器的低功耗CPU。另悉英特尔公司正紧锣密鼓地准备基于“凌动”(Atom)CPU,面向服务器扩展其功能的产品。而AMD公司虽并没有明确计划,不过由于其已公布AMD E-450/350等低功耗的CPU,一旦低功耗服务器这个市场成长起来,说不定会公布适合服务器的产品