以管窥豹,X86服务器芯片将走向何方?

2019年04月24日 作者:satoll

增量变化是人类成功的秘诀,在某些方面也是最困难的。我们需要推动事情向前发展,但与此同时,我们不能打破先前行之有效的做法。这就是我们如何从各种各样的系统中得到越来越多华丽的架构,从CPU插槽内部到超大规模数据中心,再到融入地球的政治、经济和文化网络。

英特尔Pentium和Xeon服务器处理器中包含的X86架构非常复杂,并且不断进行调整,以适应越来越多的应用程序的处理需求,而这些应用程序本身的复杂性也在不断增加。如今,没有多少企业是容易的,但要找到一家比设计CPU并让CPU制造工艺不断发展的企业,或是找到一家比一代代地实现这一工程壮举的企业更有经济回报的企业,则更加困难。

随着两周前推出的“Cascade Lake”Xeon SP处理器,英特尔再次将其架构向前推进了很多,因为它目前使用的是14nm晶圆蚀刻技术。但是英特尔在处理器上的改变和它的“Apache Pass”Optane内存模块的交付,以及将3D XPoint带入DDR4主内存,这些都是使处理器吸引客户的重要方面,即便“Cooper Lake”Xeon SP针对机器学习工作负载进行了一些调整,采用了新架构,以及备受期待的10nm晶圆工艺的“Ice Lake”Xeon SP将于今年年底推出,2020年上路。

自从英特尔推出“Nehalem”Xeon 5500处理器以来,数据中心发生了很大变化,因为AMD仍在激烈竞争,坦率地讲,公共云业务规模很小,超大规模用户对系统业务的影响不像今天这样大。

Ian Steiner是英特尔首席工程师、处理器首席架构师,以及自Nehalems以来Xeons所有产品的功率和性能架构师,他在一次关于Cascade Lake Xeon SP细节的演示中,把架构比较基准线画在了2012年3月推出的“Sandy Bridge”Xeon E5-2600处理器上,这是英特尔架构上的一个重要飞跃,顺便说一下,由于设计和32nm制造工艺的问题,该器件的高端产品有22.6亿个晶体管和核心,因此出现了一些延迟。Skylake和Cascade LakeXeon SP处理器,以及那些经过改进的14nm处理器,内置28个内核,以及大量“非核”电路,总共80亿个晶体管。但市场上的差异比这些基本的“进料和速度”所暗示的更为深刻,正如Steiner所示:

Steiner在一次关于Cascade Lake处理器架构的简报中解释说:“从那时起,情况发生了很大的变化。公共云才刚刚开始。我们有很多客户真的很担心节能、规格和其他测量指标,但今天客户真正困扰我们的是我们如何才能提高他们系统的吞吐量,并真正利用我们正在进行的一切投资。因此,我们在系统中添加的很多功能与运行传统基准测试以及如何将系统使用到其峰值无关。我记得我在2010年读过一些关于数据中心以20%的利用率运行的文章,如果我是一个财务人员,那么会让我非常生气。如果客户真的以20%的利用率使用我们的系统,我们想知道如何使他们达到50%、60%、甚至70%、80%。这一直是我们关注的重点之一。”

Steiner还说,在这七年里,高性能计算的本质也发生了很大变化。“我们在市场的其他部分看到了更多的计算量,随着AI和其他一些分析工作负载的增加,许多高性能的计算特性正在扩展到其他用例。这只是刚开始,但我们认为这在未来将会继续发展。”在客户的敦促下,英特尔在CPU市场引发的另一个重大变化是定制化。第一个定制的英特尔CPU是在Sandy Bridge时代,就像Steiner所言,现在英特尔有“成堆”的定制CPU。对Cascade Lake生产线的快速回顾显示了大规模定制是如何进行的,英特尔在处理器上进行各种调节来激活或禁用处理器特性,并调高或降低时钟速度来调整特定工作负载的性能,这是一种常态。下图是一个简易的图表,展示了Cascade Lake产品线中主要SKU的散点图,英特尔将其称为可扩展处理器(Scalable Processor):

标准的Cascade Lake Xeon SP部件有53个,包括Platinum系列的中型和大型内存变体,其中不包括英特尔仍在为企业、HPC、云和超级销售部门的终端用户客户为OEM和ODM生产的定制部件。正如我们之前所指出的,Skylake和Cascade Lake Xeon SP处理器实际上有三种不同版本——低核心数(LCC)、高核心数(HCC)和极限核心数(XCC)变体,它们分别有10、18和28个核心。

相比之下,2009年的Nehalem Xeons来自相同的芯片设计,它们都有4个核心,都有8MB的L3缓存,它们的主要区别在于时钟速度,从2.26 GHz到2.93 GHz不等。由于登纳德缩放比例定律(Dennard Scaling)的结束,时钟速度没有太大变化,在2006年左右开始崩溃。我们可以想象,由于核心流水线、缓存结构和其他调整的变化,整数工作负载的每个时钟周期所执行的指令数(IPC)在Nehalem和Skylake代之间增加了41%,并且考虑到Cascade Lake core是Skylake设计的衍生产品,具有针对Spectre/Meltdown的安全措施,调整向量引擎以运行用于机器学习推理的8位整数指令(INT8),以及允许Optane PMM内存在系统上运行的更改,我们不认为英特尔已经改变了通过从Skylake迁移到Cascade Lake的核心算术逻辑单元(ALU)运行的整数工作的IPC。这就是英特尔从2009年的4核Nehalem处理器转向2011年的6核Westmere处理器时所发生的情况。但英特尔确实把核心计数、时钟速度、温度和价格混在了一起,从Westmere Xeons开始,这个过程一直在扩大Xeon产品线中SKU的数量。

英特尔一直在逐步提高每个插槽的内存带宽,方法是通过向系统中添加更快的DDR3和DDR4内存,以及增加每个插槽的内存控制器,就像其他芯片制造商一直在做的那样。

Nehalem Xeons在芯片上集成了一个内存控制器(在此之前,AMD在Opterons上也是这样做的),支持两个或三个DIMM用于双插槽服务器。对于Westmere Xeons,双插槽机器具有相同的内存控制器,但在四插槽的变体中,内存控制器可以在每个插槽上驱动四个内存插槽。对于Sandy Bridge Xeons,四插槽机器和一些双插槽机器在集成在芯片上的单个控制器上有四个内存插槽,而另一些则有三个内存插槽,这种内存方案仍然适用于后续的“Ivy Bridge” Xeons(2013年),但英特尔将芯片上12个内核的环形互连增加了一倍,因此每个芯片的内存控制器翻了一倍(每个内存控制器有两个通道)。在2014年的“Haswell”Xeons中,更多的核心挂在连接芯片上的核心和缓存的一对环路上,但内存控制器和存储通道的数量与Ivy Bridge相同;内存速度略有加快。随着2016年的“Broadwell”Xeons的推出,环路再次变大,但内存保持在两个控制器和每个控制器两个通道,总共四个通道,每个通道可选择三个DDR4 DIMM,运行频率为1.6GHz;或两个每个通道的DIMM以2.4GHz的较高时钟速度运行。凭借2017年的Skylake Xeon SP,英特尔在芯片上的网状互连中有两个DDR4内存控制器,每个都有三个通道,客户可以以高达2.67 GHz的频率运行内存,理论上这对Xeon处理器来说应该是一个很大的内存带宽提升,但每个通道只有两个DIMM,而Broadwell最多有三个DIMM。这一代的所有其他芯片——IBM Power 9、AMD Epyc和Marvell ThunderX 2——每个插槽有8个DDR4内存通道,因此在相同的内存速度下,Broadwells和Skylakes的带宽优势为33%。

随着Cascade Lake Xeon SP芯片刚刚推出,英特尔对于库存芯片仍然使用每插槽6个内存通道,但在双倍Cascade Lake-AP中,它将两个完整的Cascade Lake芯片塞到同一个BGA表面贴装封装上(像一个巨大的嵌入式芯片,而不是用于服务器处理器的更标准的LGA插槽)。通过这样做,英特尔可以把它放入插槽的内容加倍,但每个人都知道,双插槽服务器实际上是一个时髦的四插槽服务器。

1 2

相关文章

tracer