前几天转载了2篇利用软件将GPU池化的文章《_Bitfusion:细粒度切片的GPU池化CUDA计算方案_》、《Bitfusion__性能评估:10GbEvs. 100G RDMA__跨网络GPU__调用》,今天再带大家看看相对“简单粗暴”的GPU/加速器硬件池化方案。
PowerEdge MX7000 + Liqid PCIe扩展机箱
我在国外网站看到一条新闻消息《_Liqiddiet boosts Dell MX7000 composable system_》https://blocksandfiles.com/20...,讨论的就是下面这个参考架构。
关于Dell PowerEdgeMX7000模块化服务器机箱,如果看过下面3篇我写的东西应该不陌生了。如上方图例,在“刀箱”中的一个服务器Sled节点使用PCIe连接到Liqid PCIe扩展机箱——最多可以容纳20个全高全长GPU卡。
《_PowerEdgeMX SAS存储交换应用:类ODA数据库一体机,还有啥?_》
《_PowerEdgeMX网络篇:从100GbE到32Gb FC的2种姿势_》
有点意思的是MX服务器节点引出PCIe的方式,通过一个U.2 PCIe Adapter,插在前端的NVMe SSD驱动器位上,也就是起到一个PCIe 3.0 x4 Retimer的作用。
众所周知,传统刀片服务器属于相对昂贵一些的Cluster-in-Box方案,里面通常集成网络交换模块、FC光纤通道交换模块,乃至SAS交换机,为其中的服务器节点连接标准PCIe插卡的情况不太多。也有些针对HPC高性能计算的高密度“变种”刀片服务器,把InfiniBand网卡接口设计在了机箱前端。参考下面的主板图:
上图是当初在2U机箱中的8节点双路服务器方案,Dell PowerEdge FC430的主板。可以看到用于连接x16 IB Mezz夹层卡的连接器特别设计在机箱前端,而传统上为了把PCIe扩展引到机箱后端设计的PCIe Switch还是在后侧。
相比之下,在U.2 SSD槽位把PCIe信号引出,应该算是更讨巧的一种设计,甚至不用涉及到协议信号的转换。这样扩展连接GPU应该说是更加高效的。
PowerEdge MX + Liqid PCIe扩展机箱的方案,在7U服务器里最多安装8个计算节点(MX740c)。与GPU直连的PCIe Gen3 x4通道也可以有多条链路,因为在MX机箱中的服务器节点可以支持6个NVMe SSD盘位。
Liqid PCIe机箱恰好也是7U高度,其中20个全尺寸GPU,已经可以支持最新的NVIDIA安培A100等,同时也能兼容FPGA和NVMe存储(AIC标准插卡)等。
不难看出Liqid机箱的核心硬件应该是PCIeSwitch。上图列出了GPU之间的2种通信方式——在没有点对点的情况下需要经过服务器端的CPU;而点对点的I/O则在PCIe扩展机箱内部的PCIeSwitch之间完成,效率对比如下:
尽管有多链路PCIe3.0 x4,但没有Peer-To-Peer时数据还需要经过服务器CPU的PCIe控制器,多少会有一些影响。我们看到测得的带宽为8.59GB/s,延时33.65微秒。
Peer-To-Peer启用之后,GPU之间带宽提高到25.01 GB/s,延时降低到3.1微秒。按道理这个应该是PCIe 3.0 x16双向(全双工)测得的,不过看数字怎么有点像NVLINK呢?
Liqid LQD300x20X__扩展机箱的管理处理器使用了一个ARM__芯片
如上表,我找Liqid的资料印证了一下,应该就是纯PCIe交换结构。除了我们在前面参考架构中提到的PCIe主机连接之外,这款扩展机箱还有一种100GbE以太网接口的配置,而后者没有看到用在Dell合作方案中(原因我在下文中会讲)。
PCIe vs. 100GbE连接GPU性能对比
我们来看看PowerEdgeMX + Liqid PCIe扩展机箱的性能。AI机器学习/深度学习方面不是我的特长,从图表中看到Inception V3、ResNet152、VGG16和ResNet50这几项测试,从1-8块Quadro RTX 8000基本都达到了线性提升。
下面对比一下以太网连接GPU扩展的方案。
这个与前面是同样的测试项目,只是硬件换成了MX7000 + DSS 8440服务器。后者我在《4U10__卡机器学习服务器:为什么PCIe__比NVLINK__能效比高?》中介绍过。
也就是说,当“计算刀片”+GPU服务器之间换成以太网连接之后,有少数测试项目变化不大,但整体上性能还是比PCIe连接有小幅降低。
GPU-oF参考架构:MX7000+ DSS 8440*
这就是本文介绍的第二种参考架构——GPU-oF(GPU over Fabrics,不是NVMe-oF哈)仍然是使用Liqid Command Center软件来管理,但硬件上从GPU扩展机箱换成了Dell EMC自己的DSS8440服务器,中间的连接是100GbE。
GPU Expansion OverEthernet__方案里的计算节点OS__支持,当前限制在Linux__估计是Liqid__软件的原因。GPUover Fabrics__我理解也要跑在RDMA__(RoCE__)网络__上的。
为了给PowerEdgeMX7000机箱提供100GbE以太网口,这里配置了Fabric MX9116n交换模块。DSS 8440服务器可以支持10块全尺寸双宽GPU,或者16个像Tesla T4那样的半高半长卡。2个机箱的整体高度为11U(7U+4U)。
以我的理解,由于DSS8440是通用服务器并使用以太网连接,把LiqidCommand Center软件换成本文开头提到的VMware Bitfusion是不是也可以?这种修改后的方案DSS 8440上要运行VMware ESXi,对前端支持CUDA应用,可以实现细粒度的池化。
理论上来讲,以太网连接的方案,通过交换机的扩展规模可以大很多,所以这里写每个MX7000计算刀箱可以连接多节点16x GPU(DSS 8440)。在DSS 8440服务器内部也有GPU Peer-2-Peer能力。
PowerEdge MX7000内部GPU支持方案
最后再带大家回顾下MX7000自身内部对GPU的支持,算是一个参考吧。
如上图,2块NVIDIA T4 GPU先组成一个CoreCartrideg,然后4个CoreCartrideg再组成一个CoreModule。8个GPU的模块加起来不到600W TDP。
在MX7000机箱背部偏下的第2对网络交换模块槽位,就可选安装1-2个GPUCoreModule。
推荐阅读
本文转载自企业存储技术微信公众号原文链接点这里注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。