我们先用一个简单的代数方程,了解过去二十年间两大CPU架构之间的相对算力比较:如果说英特尔X86有2X个核心,那么IBM Power只需要X个核心就能与之匹敌。
IBM的Power家族处理器及配套硬件系统,其实一直都不大关注价格/性能或者每瓦性能指标。另一方面,自“Merom”笔记本电脑核心首次登陆至强家族以来,英特尔则始终在这两方面努力突破,希望与AMD的首款64位多核心X86“SledgeHammer”皓龙处理器一较高下。同一时期,IBM仍在凭借改进版的Power4与Power4+,与惠普和Sun Microsystems争夺高端工作站与服务器市场份额。
IBM在这条道路上从未动摇,坚持在发展路线图中以每两年翻一番的速度提升处理器性能。但随着Power客户群体的收缩,以及到2000年乃至2010年数百万企业转向软件定义数据中心、选择X86通用基板编写业务代码,蓝色巨人的性能倍增周期也慢慢放缓为三年。
平心而论,Power架构在部分关键企业工作负载中仍有不少支持者甚至是铁杆粉丝,特别是用于支撑ERP、供应链管理和客户关系管理软件等后台记录系统的数据库。这些客户宁愿承担由系统规格、发热量、能耗和硬件成本带来的种种溢价,也要享受IBM提供的每核心额外计算性能。即使到今天,也有近20万家客户仍绝对依赖Power设备处理这些工作负载,以及围绕这些记录系统建立起来的应用程序服务器及其他系统。
几十年来,IBM还向高性能计算仿真与建模市场投放了大量基于Power的硬件设备,并于2018年推出了专用于AI训练负载、被蓝色巨人寄予厚望的Power9系统。但除了橡树岭国家实验室的“Summit”超级计算机、劳伦斯利弗莫尔国家实验室的“Sierra”超级计算机,以及使用IBM Power9芯片与英伟达“Volta”V100 GPU加速器打造的其他一些小规模混合集群之外,随着2014年一纸将System x X86服务器业务出售给联想的公告,IBM的高性能计算之梦就此破灭。
时间快进到2022年,精兵简政之后的IBM为搭载Power10处理器的入门及中端系统采取了不同于以往的态度,希望靠这些更新设备替代一年前同样搭载Power10的大型“Denali”NUMA设备,全面冲击分布式计算市场。必须承认,Power10架构确实具备独特的优势,包括非常适合高性能计算与AI工作负载、Power Systems擅长执行大规模数据分析,在承载AI推理这种高性能计算分支时也有良好表现等等。因此有观点认为,IBM似乎是想重振自家高性能计算与AI训练业务。这当然是好事,毕竟我们都需要一个更健康、更加多样化的架构生态竞争环境。当初的Sun Sparc、HP 9000、AMD皓龙和无数已经烟消云散的Arm服务器芯片,都曾经为生态环境的多样化贡献过力量。无论如何,市面上的GPU、DPU、FPGA和定制ASIC加速器厂商永远是越多越好,不仅能为用户提供更多选择、创新灵感,也有助于对冲计算引擎巨头一步走错的尴尬局面。
文章开头提到,IBM Power的每核心工作负载处理能力,相当于英特尔至强核心的2倍。但几十年来,我们还观察到另一个有趣的经验法则:根据不同系统制造商在产品周期中所位置的区别,二者的算力关系也会左右摆。具体情况可以总结为:如果购买给定容量的X86平台需要花费X元,那么购买同等容量的RISC/Unix、安腾或者其他专有系统就要花费2X元,而IBM System z大型机的成本则是4倍。这里所计算的系统开销,是指已经包含所有必要配置,包含执行实际工作、操作系统、系统软件、数据库软件乃至系统技术支持等元素的完整成本。事实上,这条经验法则也适用于采用完整企业许可证的Oracle、IBM DB2或者微软SQL Server数据库的在线事务处理系统。这些系统都拥有悠久的历史和深厚的积淀,如今正在AI算法、开源NoSQL以及关系数据库等领域焕发出新的生机。
为了验证上述经验法则能不能经受得住时间的考验,我们还专门对使用IBM“Cirrus”Power10处理器的入门及中端系统进行了一波竞争分析。在IBM阵营这边,我们选择了四插槽Power E1050;X86方面,我们选择的则是性能接近的“Ice Lake”至强SP服务器处理器。至于双插槽Power S1022服务器芯片,在价格和性能上与其直接对打的应该是至强SP系列处理器。
数据清楚表明,Power10确实具备一定的竞争优势。所以就算它要求用户必须在Power Systems上运行IBM i、AIX和Linux,也仍然具备一定的持续投资合理性。此外,凭借与浪潮公司的合作,IBM应该也会在新兴市场、特别是中国市场上取得一定竞争优势。Power架构也确实有望拿下部分新型工作负载,例如MongoDB、EnterpriseDB或者Redis。但随着客户不断通过合并或收购转向其他数据库和X86架构,Power设备的市场份额仍会持续萎缩,没准将抵消掉这部分优势。正是这正反两股力量的拮抗,使得采用Power Systems的客户群体在过去十年中基本是在原地踏步。
下面,我们将从Power10中端设备开始,开展两轮不同的SPEC基准测试(我们没有在Power S1022上进行基准测试)。
根据IBM的介绍,下图为四插槽Power E1050同浪潮及HPE两家的Cooper Lake至强SP设备之间的对比:
而且影响比赛双方的,都是代工问题。IBM Power和英特尔至强SP均受代工厂跟不上节奏而被迫推迟路线图:IBM先是采用10纳米制程,随后又选择了GlobalFoundries的7纳米制程,两轮尝试均告失败;至于英特尔,直接就被卡达了10纳米的门槛上。跟以往趋势相比,这样的困境有点不寻常。但无论如何,文章开头提到的Power核心双倍性能规则仍然有效,上图中Power E1050的强大性能也证明了这一点。
Power10核心的运行主频为3.15 GHz,包含四个Power10双芯片模块(DCM),总计96个核心,SPECint_rate_2017整数吞吐速率为1580。搭载四颗至强SP-8380H Platinum处理器的四插槽浪潮设备运行主频则为2.9 GHz,共有112个核心,但SPEC整数吞吐速率测试仅得到846分。简单计算,就会发现Power E1050的系统级性能相当于英特尔阵营的1.9倍(完全是DCM的功劳);而如果将天数吞吐量除以核心数量,则单核心性能为英特尔芯片的2.2倍。
有趣的是,同样使用Cooper Lake处理器的八插槽HPE Superdome Flex 280服务器在SPEC_int_rate_2017测试中的得分为1620(调整后的峰值得分)。八插槽至强SP服务器性能提高了2.5%,但使用的核心数量却增加到2.3倍。如果企业使用的是按核心数量计费的软件——例如数据库和各类数据存储软件,那么即使至强SP服务器硬件成本更低,省下来的部分也一定会被软件成本所抵消。除非供应商愿意提供高达50%的费率折扣,否则还是Power队更有成本效益。
Power E1050在SPECjbb股票交易基准测试(总体类似于TPC-E基准)中的表现也差不多。在最大吞吐量情况下,IBM Cirrus系统的单核性能为四插槽英特尔Cooper Lake设备的2.1倍,整体系统性能则为1.8倍。
在用于衡量企业系统相对事务处理性能的SAP销售与分销(SD)基准测试中,二者的性能差距还要更大一些。参考下图:
这一次,IBM对阵的是搭载Power Edge 840的戴尔服务器选手,其配备有四块运行主频2.7 GHz的“Cascade Lake”至强SP 8280处理器;而HPE Superdome Flex 280则使用了八块主频2.9 GHz的“Cooper Lake”至强SP-8380H处理器。戴尔设备运行Linux和SAP ASE数据库,HPE设备则运行Windows Server 2016和SQL Server 2012。这些软件的版本有点陈旧,不过具体测试是由厂商方面完成的,并非IBM刻意为之。
总而言之,在SAP SD测试中,Power E1050的系统吞吐量还是达到了至强SP设备的1.9倍,每核心性能则为2.3倍。(很明显,Ice Lake系统应该能够缩小这一差距,后续Sapphire Rapids NUMA设备也是同理。)但在大型八插槽设备上,即使经过了核心升级与主频增强,IBM设备仍在SAP测试中创造了每核心性能2.6倍、系统吞吐量1.9倍的显著优势。
但由于各测试系统的定价信息难以获取,所以暂时无法对Power E1050及各位对手进行价格/性能分析。
目前唯一明确的,就是双插槽服务器的定价数据,所以IBM也是据此对各类工作负载进行了一番性能与价格/性能论证(不过很遗憾,我们找不到这些双插槽设备的SPEC测试评分)。
第一轮测试并不是在关系数据库上运行严格OLTP,而是衡量Python应用程序在与运行事务的DB2数据库交互时,具有怎样的性能表现。下面来看:
IBM并没有公布硬件及整体系统的价格/性能,所以我们在原图下方用红色字体进行了计算和标注。我们的考量角度并非每1000美元成本所对应的工作量,而是单位工作量对应的美元成本。当然,二者之间是可以相互换算的。
IBM之所以没有单独列出价格/性能数字,原因显而易见:IBM Power设备比同级别的X86设备更贵。在本次测试中,对手派出的Ice Lake至强SP设备在价格上要低34%,而性能与Power选手基本相当。但别急着下结论,这还没算上X86一方额外的DB2 Advanced Edition成本,每核心三年支持成本高达96000美元。至强SP设备共有40个核心,而IBM Power10设备则只有16个核心,所以前者的软件许可费可谓直冲云霄。因此在总体计算之后,至强SP设备的成本增长至2.3倍,可处理工作量则只多出5.2%。
这个考量角度颇为新颖。
毕竟软件开发商一直希望能在本地和云基础设施之间保持统一计费,也已确定大部分系统软件仍会按照核心数量定价。从短期来看,这种行业规则似乎不会快速改变。但甲骨文会根据不同的CPU架构为软件许可提供预评分比例因子,X86处理器的许可成本比例因子正好是0.5,直接抹杀掉了IBM的每核心性能优势。所以说还是甲骨文阴险,他们把X86和自家Sparc的许可成本削减了一半,但安腾和Power设备的计费因子还是完整的1。因此,IBM并没有讨论Power10设备运行Oracle数据库的情况。
下图所示,为Power S1022与X86设备同在EnterpriseDB Advanced Server Postgres关系数据库上运行pgbench测试的对比:
在本次测试中,IBM使用的是一台只激活了16核心的32核Power S1022设备,对阵的则是采用两块Ice Lake至强SP-6348 Gold处理器的X86系统。(图中写作Platinum,但实际是Gold版。)两台设备均搭载1 TB内存,运行Red Hat Enterprise Linux,并在系统上安装了四个虚拟机。IBM设备的执行量高出19%,但英特尔设备的成本低了32%。总体计算后,英特尔硬件比IBM硬件便宜19%,但加上按核心许可的软件和技术支持等方面的开销,英特尔系统的成本最终达到IBM系统的2.16倍。
可以看到,IBM是认定了客户愿意拿更多钱来买硬件,借此换取后期软件许可和维护成本的节余。如果情况真是如此,那么压力就将来到软件开发商这边。他们要么像甲骨文那样提供折扣因子,降低X86设备上的软件许可成本;要么转而按插槽进行计费,借此平衡竞争环境。
在Red Hat Enterprise Linux上运行Yahoo Cloud Serving基准测试(YCSB)和MongoDB NoSQL文档数据存储时,也得出了类似的结果。
在后一轮测试中,由于Power10每核心拥有八线程,因此主频2.96 GHz的Powr10核心性能相当于主频2.6 GHz Ice Lake至强SP核心的4.36倍。不过落到双插槽系统之后,IBM的整体吞吐量优势就只剩下20%了,毕竟蓝色巨人这边一共才16个核心,而英特尔那边有56个。
看Power与X86双方阵营捉对厮杀还挺有趣,所以我们再来看另外两次比较。下图所示,为针对DB2数据仓库运行Watson AI软件时的情形:
性能与价格/性能差分别为3.5倍和3.3倍,高于OLTP工作负载历史趋势。
最后一项基准测试,是在Red Hat Open Shift/Enterprise Linux以及IBM自家WebSphere Liberty应用服务器的容器中运行DayTrader Java测试(可能也是TPC-E测试的一个变体)。
这里的性能和性能/价格差均远高于3倍。
最后,我们来看下面这份Power S1022基准测试汇总表:
对比优势这么明显,不知道IBM为什么没有大肆宣传这波测试。当然,可能会有朋友好奇AMD Epyc处理器性能在赛场上会有怎样的表现……具体结果要测了才知道,但按照AMD的目前情况来看,以核心定价的系统软件成本应该比英特尔还要高。
好文章,需要你的鼓励
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面
“未来软件定义汽车”的设想也成为马丁当前运营路线的指导方针,且高度关注数据、零件和资产管理等议题。