然而设想终究只是设想,这一切最终只能成为先有鸡还是先有蛋的论证死循环。不过由此引发的探讨并非毫无意义,近日由arm公司在德克萨斯州奥斯汀市举办的arm技术日大会就将其作为一大重要议题。arm服务器从业者们亲临现场,在交流中深入讨论这家新兴芯片巨头以授权形式提供的技术方案;此外,多家供应商还拿出自己打造出的硬件与软件产品,用于展示arm服务器生态系统的下一步发展前景。
说到这里,我们不妨对ibm这位业界前辈进行一番回顾。ibm pc方案最初诞生于1981年,随后其经过了十五年的发展演变才真正转化为服务器处理器——也就是pentium pro——并走向市场。在此之后的十年当中,市场经历了一系列变迁与激荡,最终x86架构以无可匹敌的普及率与营收总值在系统领域取得了统治地位。之所以整个过程如此漫长,主要是由于处理器的设计工作是世界上难度最高、复杂性最强的任务之一,而针对任何一款新型处理器创建与其服务器工作负载相匹配的软件生态系统则需要数不清的编程人员通力协作方能完成。有鉴于此,当初除了arm服务器芯片新兴企业calxeda之外、没人愿意在这方面率先作出尝试。这家年轻的公司非常明智地在设计方案中将服务器与交换机功能整合在同一块芯片上,然而单是这项工程就已经耗尽了他们通过风投筹得的全部资金储备,因而根本无力进一步迈向64位架构并建立与之相匹配的软件生态系统。但众多技术从业企业也不甘落后,理由很简单——如果让英特尔抓住几年空白期、把自己的芯片工程师队伍与制造设施引入其中,那么任何一家厂商都不可能再动摇其优势地位。
换句话来说,我们终于迎来了第二次超越英特尔的机会。
即使没能实现64位arm芯片的批量化出货,市场仍然从arm公司手中得到了自己需要的pg电子娱乐试玩的解决方案、另有多家合作厂商正在全力研发arm服务器芯片设计方案:英特尔迫于压力已经不得不拓宽自身芯片涵盖范围,通过为大规模买家提供定制化产品、进一步细化芯片产品的性能分级、价格设置以及功耗水平等方式力保固有优势。当然,英特尔在二十年前也扮演过如今arm的角色——当时他们利用自己的pentium pro(前期)与至强处理器(后期)同risc与cisc展开了激烈的较量。可以说,只要有机会可资利用、企业用户就绝对不会将其放过。我们可以看看谷歌与amazon web services的选择,双方都付出消息称正在设计属于自己的arm服务器芯片。谷歌方面还参与到ibm发起的openpower基金会当中,希望能够借此弄清楚蓝色巨人的power8处理器到底有多少潜力可挖。
尽管形势一片大好,但arm阵营真正的目的在于冲破x86架构在数据中心领域的主导地位。在过去二十年中,英特尔已经成功改写了服务器方案的性价比机制,如今又开始将触角伸出存储与交换业务领域;不过接下来要列举的几项重点值得大家认真考量,毕竟如今arm已经在以与当年同样的方式向x86发起挑战。
首先,arm硬件与软件生态系统相当庞大,小至袖珍传感器、大至服务器设备则有涉猎;我们有理由认为arm将逐步由现有市场区划一步步迈向数据中心领域,正如英特尔正尝试向智能手机、平板设备以及其它原本由arm支配的领域进军一样。随着越来越多超大规模web应用程序供应商开始打造自己的技术堆栈,加上公有云产品逐渐推出更多服务以及运行windows、linux以及unix实例的原始基础设施的出现,服务器实施方案当中的相当一部分(更重要的是,随着全世界向云环境进发的脚步日益加快,这部分服务器方案所占比例也在逐年增长)都将有能力与专门针对此类负载的arm服务器芯片相对接。甚至连微软公司都加入到了开放计算项目中来、将其源自azure云的极简式服务器设计公开共享,同时也与arm公司建立合作关系、旨在立足于arm服务器芯片开发硬件及操作系统标准。微软可能会在初期尝试将windows server与arm架构相结合,而后再逐步推出商业化产品。虽然微软并没有明确作出将windows server迁移至arm芯片上的承诺,但由于windows系统在全球服务器系统总体营收当中占据约半数份额、其出货量所占比例甚至还要更高,让arm具备运行windows与linux两大主流系统的能力将使这类risc处理器真正成为有能力在数据中心环境内取代x86的重要备选方案。
目前最让人感到不解 的问题是:为什么选择arm服务器?又为什么选择当前这一时机?arm公司服务器项目主管jeff underhill就这两个问题给出了他的解答。
“人们正在以我们前所未见的庞大规模处理事务,”underhill解释道。“他们同时也在尽可能对整体持有成本作出优化。”
这一观点可谓合情合理,因为从超大规模数据中心运营商的角度出发,资本主要由软件供应、原始计算即服务体系以及it基础设施这几天大部分构成。在大多数情况下这些服务是免费的,厂商可以通过广告业务或者其它数据服务为自身带来营收。(从某种意义上讲,与网络使用者的对接本身就是一种产品。在这些情况下,it基础设施的作用在于将使用者吸引过来并加以汇聚。)因此除了it基础设施、占地空间、能源消耗以及冷却系统之外,花在其它任何方面的开支都是一种不必要的浪费。在其它行业中,我们估计it支出在总体营收中所占的比例应该只有2%到5%,但对于超大规模企业以及公有云供应商来说,这部分开销的比例则要高得多得多。因此这里我们讨论的持有成本其实相当巨大。facebook曾经明确作出说明,称通过自主设计数据中心与系统方案、其在过去两年中成功节约了高达12亿美元的运营成本。
此外,由超大规模企业所使用的应用程序在类型上正在逐渐向arm架构靠拢。很多现代数据存储及分析应用程序已经不再受到cpu类型的约束——也就是说,能否运行在速度极高的单一线程或者核心上、是否拥有庞大的内存或者i/o带宽都已经不再重要。这些新型工作负载涵盖范围相当广,从内存缓存软件到分布式web服务器、到关系型数据库集群再到hadoop乃至其它数据分析方案、甚至一系列nosql数据保存方案皆被包含其中,它们都能够很好地同arm处理器进行协作,underhill指出。事实上,其中大部分软件都属于开源项目,也就是说能够由x86芯片移植到arm处理器之上;最重要的是,开源意味着大家不一定要等等软件供应商来完成这些移植工作——自己动手或者依靠社区贡献都是可行的。超大规模企业最为看重的另一项因素在于速度,速度的优势在一系列尖端领域占据核心地位。第一,他们希望有能力更快地完成系统设计遍历工作,而且要求各个部件都拥有多种技术来源而不能被锁定在单一供应商及其产品路线图之上。arm生态系统主要衍生自两家企业——amd与applied micro——双方目前都已经推出了自己的64位芯片样片;相比之下,其它厂商在这类处理器研发方面则涉足时间有限。(谷歌与amazon可能也在构建自己的方案。)他们还需要提升处理器自身的执行速度,并使其在面向当前由x86统治的数据中心软件生态系统时能够具备更为广泛的兼容性。
“armv8是一套纯粹的64位指令集架构,能够与web以及云环境下的编程风格保持一致,”underhill指出。超大规模运营商(以及众多企业巨头)所需要的全部关键性软件组件都在这套堆栈中有所体现:
由canonical公司于两周前公布的ubuntu server 14.04 lts结合了来自applied micro公司的x-gene 1以及cavium networks的thunder。红帽则在x-gene 1与amd的“西雅图”皓龙a1150处理器组合平台之上演示了其fedora开发linux的运行示例。红帽公司arm架构负责人jon masters在本次arm技术日大会上表示,目前rhel系统中已经有98.6%的软件包支持arm架构,并补充称该堆栈完全面向64位实施机制。此外,由于对64kb内存页的支持将导致其无法向32位环境进行移植,因此红帽方面决定放弃对32位机制的支持。换句话来说,大家可以在必要时选择特定版本的linux系统进行虚拟机载入,从而继续拥有对32位代码的支持能力,masters指出。红帽公司不会对arm支持能力将在何时或者采取怎样的方式登陆商业级企业linux平台作出评论,这在很大程度上取决于能够支持多种标准的硬件何时面世(例如uefi与acpi等标准)、客户需求是否强烈以及java等核心程序的准备情况。suse linux已经在其opensuse开发版本内引入了对arm芯片的支持能力,而且很可能将这一能力整合到其enterprise server 12版本当中——这套系统估计将于今年晚些时候开始测试、计划在明年正式投放市场。
红帽与canonical目前正在积极努力以保证其kvm虚拟机管理程序能够在64位arm芯片上实现理想的运行效果,而思杰系统公司同样也在积极将其xen虚拟机管理程序推向新平台——思杰的这套方案受到各大基于linux系统的公有云体系的强烈推崇(amazon web services、rackspace hosting以及ibm softlayer都在使用xen衍生版本;目前谷歌的虚拟机管理程序选择尚不明确,但微软肯定会使用自家hyper-v)。思杰公司首席软件工程师stephano stabellini解释称,arm上的xen是一套“精简而且直观的架构”,它“去掉了x86版本多年以来困扰着技术人员的一切负面元素”。xen的arm衍生版本并不提供模拟功能且没有用到qemu,而且它只提供一种访客类型、即将可用于x86机制下的两种选项加以结合。(这相当于对hardware virtual machine的完全虚拟化加上通过para-virtualization实现的部分虚拟化。)
不少程序员从2011年末时起以开始将一部分注意力转移到arm版本的xen身上,并在思杰加入linaro linux-on-arm项目后逐步加大在这方面的工作力度。去年六月,xen的arm64衍生版本被正式添加到linux 3.11内核当中,这一支持能力旋即于同年七月成为xen 4.3的组成部分。xen 4.4发布于今年三月,除了其它功能之外、此次新增的特性包括对armv8设备上的64位访客系统的支持能力、内存释放、cpu池化处理、vcpu锁定以及调度改进等。来自德州食品的omap5芯片以及来自applied micro的x-gene 1都能够运行xen 4.4,并可以充当多种32位处理器的开发板。而在将于今年第四季度推出的xen 4.5当中,这款虚拟机管理程序将支持uefi与acpi、虚拟机实时迁移并提供大量面向arm处理器核心组件的新型驱动程序。
随着多家处理器供应商计划于今年年底推出相关处理器产品,加上操作系统堆栈正逐步与arm取得更为紧密的协作关系,看起来2015年将成为arm真正步入成熟并给x86服务器带来实际压力的一年——当然,同样面临挑战的还有power以及sparc等其它芯片架构,只不过压力相对小一些。underhill指出,arm公司认为arm芯片到2017年将在服务器出货量方面占据全球5%到10%份额;但不少分析人士认为这一评估结果过于保守。
人们殷切期望超大规模数据中心运营商能够率先迈向架构转型的第一步,而惠普超大规模业务部门总经理paul santeler在本周的amd技术日大会上表示,x86与arm芯片制造商充实了惠普的“双管齐下计算”战略。
“密集型服务器市场与企业服务器市场有所区别,前者需要在多种处理架构之上运行多种操作系统,”santeler指出。“向外扩展架构在构建方式上非常均匀。它们包含多个应用程序层,它们拥有明确的结构化特性并在需要更高性能或者支持更多用户时进行向外扩展。这一系列因素使相关技术人员拥有高度核心化的软件专业知识,也因此能够快速适应新型技术方案。如果大家关注过各项技术成果的普及走势,就会发现它们都能够在向外扩展数据中心内得到迅速推广——包括闪存存储、向外扩展数据库以及开源等——这是因为此类运营商需要这些能力并能够在投资之后立即获得回报。我认为向外扩展数据中心将成为arm64迈向成功的重要跳板。”
当然,最终结果在很大程度上还是取决于arm芯片的实际表现、广泛适用性如何以及设置怎样的价格定位。这一点在很大程度上仍然属于变数,这意味着每位分析人士都可以通过自己的理解作出不同判断。然而从第一台客户端设备入驻数据中心环境的那一刻起,我们就已经意识到这股新潮流的诞生与涌动。真正的问题在于:这股潮流能否积蓄更大能量并再次席卷而来?