从Power9互连技术看Intel与IBM的生存之道

一周没更新微信公众号,有点快要长草的感觉,正好周末赶上点想写的东西。

 

下面这张图,来自一篇国外的报道《IBM Preps Power9 For AI And HPC Launch, Forges BigNUMA Iron》,简单说就是16插槽Power9系统的互连设计。

 

16路互连拓扑图引发的疑问

 

0?wx_fmt=jpeg


首先,每个“横排”的4CPU应该在一个CEC机箱内,每个CPU都有3条蓝色连接通往另外3CPU

 

CEC之间,每个CPU又通过3条绿色的SMP线缆“纵向”连接同一列上的3CPU,这样所有16个插槽之间最多只需要“2跳”。

 

这里有朋友提出疑问:“CEC内部连接的16 Gb/s带宽还不如跨机箱的25 Gb/s?”另外如果这些连接只是单bit宽度,换算成GB/s也太低了点吧?

 

显然上图交待的还不够全面,或者说应该写成GT/s更准确。那么,实际带宽到底是多少?

 

0?wx_fmt=jpeg


在同一篇报道中,我还看到Power9 SU”最大只到12核心。最小内存1TB也就是每颗CPU都要配64GBDDR4内存的频率只有1.6GHz,在这些背后又有哪些玄机呢?

 

为此我翻出自己一年前写的《初探OpenPOWER9服务器设计:x86不再寂寞》,找到其中一部分答案。

 

0?wx_fmt=jpeg


-         “每颗POWER9 LaGrange CPU拥有8DDR4内存通道,每通道支持2DIMM插槽(每CPU 16DIMM,总共32 DIMM);

-         CPU之间通信经过230-bit X-bus,工作在16Gbps的一致性互连;

-         POWER9 LaGrange整合PCI Gen4控制器,两颗CPU一共引出84 lane

-         每个CPU支持2x8 laneNVLink/OpenCAPI@ 25Gbps

 

不难计算出,POWER 9每条X-bus的带宽为60GB/s,两条就是120GB/s;每个x8 lane NVLink/OpenCAPI的带宽为25GB/s。”

 

可以看到,在一块主板/CEC机箱内部CPU之间的16Gbps互连是30-bit X-bus,而跨CECSMP线缆应该走的就是25Gbps8信道CAPI

 

紧接着问题又来了:上图中OCP项目的设计,每颗CPUX-busNVLink/OpenCAPI都只有2Power9要互连16路至少需要3组才对啊?

 

Power9Scale OutScale Up两个版本

 

然后我又翻出了另一篇新闻:

 

0?wx_fmt=jpeg

Power92个版本——SO(横向扩展)和SU(纵向堆叠)

 

首先Power9应该有2CoreSMT8(同步8线程)的“大核”和SMT4(同步4线程)的“小核”。左边Scale Out系列SMT4的最大24,对应就是OCP使用的OpenPOWER;而只有最大12SMT8Scale Up系列,才能支持到16插槽互连

 

这个原因在CPU四周围就可以看出来,Power9 SU4B SMP(严格说32bit X-bus,估计含2位校验码)增加到3组,25G I/O增加到4组。代价是的8通道内存控制器没有完全内置,而是像以前Intel Xeon E7那样通过DMI连接外面的控制/缓冲芯片。(Power8以前也这么设计过)

 

0?wx_fmt=jpeg

Dell PowerEdge R910服务器的内存板,当年它支持4Intel Xeon 7500和第一代Xeon E7处理器。散热片下有2SMB内存缓冲芯片。

 

在《四路Xeon SP服务器内存减半:Intel葫芦里卖的什么药?》一文中我就提到,Intel最新一代Xeon Scalble平台全部采用CPU直连内存的设计,包括支持四路的型号也不再需要SMB内存缓冲芯片。这样做除了成本之外,降低了内存插槽数量和最大容量支持,但也保证了内存频率和性能(特别是延时)。

 

所以,这大概就是我们看到通过DMI桥接内存的Power9 SUDDR4内存频率只支持到1.6GHz的原因吧。

 

CAPINVLinkPCIe Gen4物理连接的复用

 

0?wx_fmt=jpeg


这张图反映的是Power925G I/O用于连接NVIDIA GPU(也就是NVLink工作模式)。前面我们提到每一组x8 lane的单向带宽是25GB/s,全双工就是50GB/s,那么300GB/s应该对应6NVLink。这与上文中Power9 SU示意图的425G似乎有些不符,后面我会讲可能的原因。

 

0?wx_fmt=jpeg


CAPI支持模式下,425G I/O被定义为OpenCAPI 3.0(蓝色箭头),提供总共200GB/s的双向带宽。而共用部分PCIeGen4物理层资源的CAPI 2.0(红色箭头,也可以被定义为NVLink?),由于速率限制在16GT/s,所以2x16 lane或者4x8 lane的最大双向带宽就是128GB/s

 

扩展阅读

PCI Express 4.0规范全文下载,SSD和网卡何时能受益?

 

上图中列出CAPI连接的设备是ASIC或者FPGA,而看下面这张图我们就能理解它们也能用于互连Power9 CPU

 

0?wx_fmt=jpeg


首先,刚才我们就提到3x16 PCIe Gen4中的2组可以重定义为CAPI 2.0。另一方面,我还认为如果NVLink的最大带宽要想达到300GB/s,很可能也会复用这部分PCIe资源。

 

Intel Xeon抱定QPI+PCIe?与Power不同的生存之道

 

相比传统PCIe连接,CAPI的一大好处是设备(FPGA/ASIC)可以与CPU共享内存地址,这样也就为用于CPU之间的NUMA对等连接建立了基础。当然PCIe也支持DMA,像EMC VMAX高端存储的Scale-out架构应该说也相当于实现了NUMA,而真正将PCIe重定义为CPU互连的还有AMD

 

0?wx_fmt=png


上图我在《AMD EPYC官方资料乌龙?谈服务器CPU互连效率》一文中曾经列出,不过AMD目前的“胶水封装”只是将“重定义的PCIe”用于2CPU互连。

 

话题似乎总要回到目前占据主流市场优势的Intel。我们知道Intel支持PCIe Gen4的进度比Power9要晚,而之前PCIe基本一直是Intel在主导IBM等跟随。对于NVLink/OpenCAPIGenZ似乎Intel也无动于衷?

 

扩展阅读

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

Gen-Z互连():第一步25-100GB/sPCI-SIG的反应

 

显然,我认为Intel选择这样的策略不是因为技术门槛,只用3QPI互连CPU是他们觉得4路以上服务器的市场太小。而IBM Power的目标则不同——用户群则较小且针对性强一些(同时保持较高的利润率来支撑研发),部分高端关键业务和HPC用户更需要在单机上实现Scale Up的高性能“胖节点”

 

同时,Intel也不是自己一个人在战斗,还有些服务器厂商提供了第三方Node Controller芯片来支持更大规模(8路及以上)的Xeon服务器。比如下图就是我在《Bull 8-16路服务器:为何基于双CPU模块互连?》一文中介绍过的架构。

 

0?wx_fmt=jpeg


至于协处理器的连接/互连,大家可能知道当前Xeon Phi的命运,Intel未来重点在FPGA还是“GPU”我也不确定,所以现在不太好评论和推测。

 

距离Power9正式发布的日子应该越来越近了,到时候我哪里写的不对请大家在下面留言:)

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/336373

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。