GPU训练集群组网
如下图所示,GPU之间的计算网络通过下端的网卡每个节点8张连接到计算网路的 Leaf 交换机,上端的每个节点的和CPU 连接的2张网卡连接到存储网络的 Leaf 交换机上。
- 计算网络
该网络的目的是实现与其他节点的 GPU 到 GPU 的数据交换。
每个 GPU 通过 PCIe 交换机连接到其各自的网络接口卡 (NIC):GPU <--> PCIe 交换机 <--> NIC。
- 存储网络
两块网卡(NIC)直接和CPU连接,连接另一个网络,主要用途是数据读写,以及SSH管理等任务。
- RoCE 与 InfiniBand
无论是计算网络还是存储网络,都需要RDMA(Remote Direct Memory Access)来实现AI所需的高性能。目前RDMA有两种选择:
RoCEv2(RDMA over Converged Ethernet version 2):这是公有云提供商通常为其 8-GPU 实例使用的网络,例如具有 8 * 100Gbps 的 CX6 配置。在满足性能要求的前提下,与其他选项相比,它相对具有成本效益。
InfiniBand(IB):在网卡带宽相同的情况下,InfiniBand 比 RoCEv2 性能提升 20% 以上,但价格比较高,大约是 RoCEv2 的两倍。
数据链路带宽瓶颈分析
以单机8卡A100 GPU主机为例,分析其带宽瓶颈
图中标出了几个关键的链路带宽:
- 同一主机上的GPU之间:使用NVLink,双向带宽为600GB/s,单向带宽为300GB/s。
- 同一主机上的 GPU 与各自的网络接口卡 (NIC) 之间:利用 PCIe Gen4 交换芯片,双向带宽为64GB/s,单向带宽为 32GB/s。
- 跨主机 GPU 之间:数据传输依赖于网卡,带宽取决于具体使用的网卡。目前国内常用的A100/A800 型号网卡单向带宽主流为 100Gbps(12.5GB/s)。因此主机间通信相比主机内通信性能会大幅下降。
200Gbps(25GB/s)接近PCIe Gen4的单向带宽,因此,在这种配置中使用 400Gbps NIC 不会产生显著的好处,因为它需要 PCIe Gen5 性能才能充分利用 400Gbps 带宽。