ai服务器集群 高性能GPU服务器AI网络架构(下篇)
众所周知,在大型模型训练中,通常采用每台服务器配备多个GPU的集群架构。在上一篇文章《》中,我们对GPU网络中的核心术语与概念进行了详尽介绍。本文将进一步深入探讨常见的GPU系统架构。
关于CPU、服务器和存储详细技术,请参考“”,“”、“”、“”、“”、“”、“”、“”等等。
8台配备 A100 GPU的节点/8台配备 A800 GPU的节点
如上图所示的A100 GPU拓扑结构中,8块A100 GPU所组成的拓扑包含以下组件:
接下来的部分我们将对这些组件进行详细解读。下一张图片将提供更详尽的拓扑结构信息供参考。
存储网络卡
在GPU架构中,存储网络卡的定位主要涉及其通过PCIe总线与中央处理器(CPU)的连接,以及负责促进与分布式存储系统的通信。以下是存储网络卡在GPU架构中的主要作用:
虽然官方推荐使用BF3 DPU,但在实践中,只要满足带宽需求,可以选用其他替代解决方案。例如,为了成本效益考虑,可以考虑使用RoCE;而为了最大限度提升性能,则优先选择。
网络结构
在完全互联网络拓扑中,每个节点都直接与所有其他节点相连。通常情况下,8块GPU通过六个芯片以全互联配置相连接,这一整体也被称为架构。
在全互联结构中,每条线路的带宽取决于单个通道的带宽,表示为n * bw-per--lane。对于采用技术、每条通道带宽为50GB/s的A100 GPU,在全互联结构中,每条线路的总带宽为12 * 50GB/s = 600GB/s。需要注意的是,此带宽是双向的,既支持数据发送也支持接收,因此单向带宽为300GB/s。
相比之下,A800 GPU将通道的数量从12减少到了8。因此,在全互联结构中,每条线路的总带宽变为8 * 50GB/s = 400GB/s,单向带宽为200GB/s。
以下是一个由8*A800组成的设备的-smi拓扑结构图示。
GPU节点互联架构
以下图表展示了GPU节点间的互联架构:
计算网络
计算网络主要用于连接GPU节点,支持并行计算任务之间的协同工作。这包括在多块GPU之间传输数据、共享计算结果以及协调大规模并行计算任务的执行。
存储网络
存储网络用于连接GPU节点和存储系统,支持大规模数据的读写操作。这包括将数据从存储系统加载到GPU内存中,以及将计算结果写回存储系统。
为了满足AI应用对高性能的需求,在计算网络和存储网络上,RDMA(远程直接内存访问)技术至关重要。在两种RDMA技术——和之间进行选择时,需要权衡成本效益与卓越性能,每种选项都针对特定应用场景和预算考虑进行了优化。
公共云服务提供商通常在其配置中采用网络,例如CX配置,其中包含8个GPU实例,每个实例配备8 * 。与其他选项相比,只要能满足性能要求,相对较为经济实惠。
数据链路连接中的带宽瓶颈
该图表突出了关键连接的带宽规格:
(25GB/s)接近PCIe Gen4的单向带宽。(50GB/s)超越了PCIe Gen4的单向带宽。
因此,在此类配置中使用的网卡并不能带来显著优势,因为要充分利用带宽需要PCIe Gen5级别的性能支持。
8x H100/8x H800 主机H100主机内部的硬件拓扑结构
H100主机的整体硬件架构与A100八卡系统的架构非常相似,但也存在一些差异,主要体现在芯片的数量和带宽升级上。
H100 GPU 芯片