企业存储技术 · 2020年09月09日

Gen-Z互连(上):Intel缺席的内存中心架构

此文发布于2017年8月20日

本文内容非商业用途可无需授权转载,请务必注明作者及本微信公众号、微博ID:唐僧\_huangliang,以便更好地与读者互动。

image.png

听说Gen-Z这个新的互连标准组织已经有段时间了,之前没太仔细研究,直到看了《_FMS2017闪存峰会演讲资料下载(持续更新)_》中的这份资料,觉得有必要写点东西跟大家分享一下。

内存、PCIe带宽跟不上CPU核心数增长

image.png

如上图,从Xeon5500/5600时代开始Intel在CPU中集成了内存控制器,当时是每个LGA-1366插槽3通道;到XeonE5时代增加到每个LGA-2011插槽4通道;及至代号为Skylake-EP(Purley)的最新一代Xeon Scalable服务器,每个LGA-3647插槽控制6通道内存,参见_《IntelXeon SP服务器架构曝光:ApachePass、QuickAssist_》。

AMD现在又一次想做超车者,在EPYC(Naples)平台上祭出LGA-4094超大封装和8通道内存控制器。(扩展阅读:《_AMDEPYC官方资料乌龙?谈服务器CPU互连效率_》)可以预见的是,Intel下一代服务器CPU插槽也只有增大而没有减小的道理。

而内存通道的增加赶不上核心数量,于是平均每个Core的内存带宽总体呈下降趋势。最大28核的Xeon SP核这一代是个例外,不知2019年计划的60核又会是怎样的设计?

image.png

伴随而来的是,CPU、内存的功耗和物理空间占用等方面的不断提升。关于上图中列出的2U 4节点服务器演进,我在《_2U4节点XeonSP服务器设计:扩展性与散热的权衡_》里面曾有深入一些的讨论,有兴趣的读者可以看看。

image.png

除了内存带宽,没有和计算密度成正比增长的还有I/O带宽。Intel这一代更新每CPU提供的PCIe lane数量从40加到了48个,PCIe 3.x 8GT/s到单一设备的带宽不变。到下一代的PCIe4.0,PCIex16双向总带宽可接近64GB/s,而CPU本地DDR4内存带宽已达100GB/s,GPU上的HBM带宽更是超过732GB/s。

image.png

在尚未发布的POWER9 LaGrange平台上,整合有PCI Gen4控制器,两颗CPU一共引出84lane,此外每CPU还支持2个x8 lane的NVLink/OpenCAPI@ 25Gbps。更多细节参见《_初探OpenPOWER9服务器设计:x86不再寂寞_》。

有人说是PCIe 4.0正式规范不断跳票导致了Power9的发布推迟,胡乱猜测一句,Intel在这里面有没有点私心呢?另一方面IBM也开始多条腿走路,NVLink/OpenCAPI的25Gbps速率就已经超过了PCIe 4.0的16GT/s,而PCIe 5.0草案中才涉及25GT/s和32GT/s。

Gen-Z为什么要以内存为中心?

image.png

Gen-Z支持直连、交换或者Fabric拓扑

面对挑战,Gen-Z提出了以内存为中心的架构,其核心思想是一个内存语义的Fabric通信协议。如上图,主内存脱离CPU而池化,CPU角色相对弱化为SoC(其本地控制的内存可能用于管理),而FPGA、GPU加速器,网络、存储I/O则提升到对等的角色。

是不是和HP The Mechine有点相似呢?而该架构显然是Intel不愿接受的,因为这些年来他们做了以下事情:

image.png

在当初IntelXeon 5000/5400系列和之前的服务器平台,MCH北桥一直是整个系统的核心枢纽,向上有FSB前端总线连接CPU,同时提供内存控制器、PCIe控制器,并向下连接南桥。

后来AMD从Opteron(K8)开始在CPU中整合内存控制器,听说因为他们请来了Alpha的架构师,而这个方向也是从RISC小型机学来的。

image.png

后来的事情许多朋友都清楚,Intel为了提高内存性能/降低延时,并且让CPU间通信不在受FSB绕道北桥所累,在Xeon 5500平台上取消MCH同时引入QPI互连,把内存控制器整合进CPU。

此时PCIe控制器仍保留在IOH芯片组中,并且还可以增加第二颗IOH以提高PCIe扩展能力。但IOH使用的QPI是Intel私有协议,毕竟不能实现像PCIe Switch那样拓扑。再后来到了Xeon E5平台,Intel进一步提高集成度,将PCIe控制器整合进CPU,回到了我们前面的讨论。

image.png

在当前的架构体系(包括x86)中,CPU控制的内存总线是每个通道72bit(含ECC)同步接口,每个DDR4 DIMM内存插槽288pin。4-8个内存通道提供每通道17-25GB/s带宽。

image.png
而换成Memory Semantic Fabric之后,处理器和内存(Media Module)之间通过Gen-Z Logic连接,把内存控制器拆分到CPU之外。此时可以有2-8个高速串行链路,号称低延时、高性能的异步接口,处理器和内存介质无关性(即支持DDR几代不再取决/绑定于CPU)。

外置内存控制器是否划算?

其实Intel也不是没干过类似的事情,其实在历史上他们曾经两次引入内存缓冲技术,大家还记得FBD(全缓冲内存)和SMI吗?

image.png

Fully Buffered DIMM出现于Intel 5000系列芯片组,在双路服务器平台上终止于5400。当时刚开始在主板上引入4通道内存,大概是64/72位DDR接口布线设计遇到难度,于是改用一种14bit下行(北向)/10bit上行(南向)的接口技术。北桥的内存通道连接到内存中央的AMB芯片,再由此在同一个通道内的向下串连更多DIMM。这个时期遇到的问题是内存不对等的延时增加,以及每条DIMM上AMB增加了成本和功耗。

image.png

第二次是从Xeon 7500一直到XeonE7  v4。上图以Dell PowerEdge R910服务器资料为例,4颗CPU支持8块内存板,内存控制器由SMI接口经过缓存芯片之后连接通用内存。提高内存数量和容量的支持是SAP HANA类应用喜欢的,但这也带来了一定的性能影响。

image.png

PowerEdge R910__的内存板,我在《四路服务器进化:R930内存板瘦身、偏置CPU散热__》中曾经提到后来的设计尺寸缩小了不少,但增加的成本和耗电却不可避免。

最终Intel也放弃了这种设计,详情参见《_四路XeonSP服务器内存减半:Intel葫芦里卖的什么药?_》,我在这里就不再重复。

相比之下,Gen-Z的高速串行链路有点类似于用PCIe点对点连接CPU和内存控制器,如果只是从成本和主板设计复杂性上看未必比现在的Xeon  E5、SP划算。Gen-Z的价值还不只这些,我将在明天的下篇中继续和大家讨论以下主题:

-另类RSD:复用PCIe pin提升整体内存带宽

-在更小连接器上跑出更高带宽(25-100GB/s)

-联盟中还缺席了谁?PCI-SIG的反应

推荐阅读

本文转载自企业存储技术微信公众号原文链接点这里

注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。
42.jpg

推荐阅读
关注数
5554
内容数
236
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息