正文
在摩尔定律减缓,单纯依靠摩尔定律的红利无法支撑集团计算需求成长的背景下,同时又基于 TCO 考虑,横向扩展受限的条件下,我们把目光聚集到了业务负载和 x86 CPU 架构之间的匹配度上。
我们注意到 CPU 的设计目标是普适所有业务;其代与代之间性能提升约定俗成的用 SPECCPU Benchmark 工具跑分来诠释。该跑分本身是一组基于整形运算或者浮点运算的测试程序集合在特定权重因子加权后的得分,而所遴选的测试程序集合实质上尝试代表各个典型场景的负载,例如 SPECCPU2006 中整型测试集包含了 12 个测试程序,而浮点测试集中包含了 17 个测试程序。这些程序从编译效率、下棋游戏、量子计算模拟、到大型流体力学有限元分析、语音识别、分子模拟等,尝试覆盖处理器能力指标的方方面面。从通用的角度来看,这套价值体系逻辑上可以支撑普适的、综合的对于处理器性能表现的量化评估。而阿里的业务负载特征和 SPECCPU 所代表的负载特征有明显的区别, 这就意味着按照普适标准定义出来的 CPU 架构并不是最适合阿里业务场景的架构。这一差别蕴含着巨大的能效提升机会和 TCO 改善空间,CPU 定制之路也就因此而开启。
阿里的 CPU 定制化之路经历了三个阶段,从最初的规格选型,规格定制,到现在的特征定制 。这是一个从被动到主动,从以他为主到以我为主的历程。下面我们将详细展开介绍。
规格选型的核心之意在于“选”,即 CPU 厂商提供一系列可选的 SKU,我们依据自己的 TCO 模型选取最适合自己业务负载的 SKU。严格意义上的说,这并不属于定制范畴,但在相当长的一段时间里,这是包括阿里在内的互联网公司部署服务器 CPU 的主要途径。
具体来说,规格选型定义了一个多维度可配置空间,如图 1 所示(为了便于表示,图中只画了 2 个维度)。在这个多维空间中,CPU 厂商选取了一些他们认为有价值的配置组合,并以 SKU 的形式呈现出来,供用户选择。在这里,我们需要强调一下几点: