多轨道网络
传送门:使用 NVIDIA Collective Communication Library 2.12 将所有 all2all 性能翻倍 - NVIDIA技术博客
在传统的多GPU通信架构中,当某个GPU需要使用跨NUMA 域(即不同CPU socket下)的NIC时,数据传输路径必须经过本地CPU,并通过CPU间互联(如Intel的QPI/UPI或AMD的Infinity Fabric)跨越至目标NUMA域,再由目标CPU控制本地NIC发出数据包。在该数据传输路径中,QPI/UPI等CPU间互联的带宽通常远低于NVLink与PCIe,从而导致整体吞吐量受限、延迟增加,并可能成为转发瓶颈。
为解决这一问题,NCCL 2.12引入了PXN(PCI × NVLink)机制,以充分利用服务器节点内部的高带宽NVLink/NVSwitch互连,并优化GPU与NIC之间的数据路径。为支持PXN,多轨道网络架构被设计:集群中各节点上位置相同(同一轨道)的NIC被连接到同一台Leaf/ToR交换机(也称为Rail Switch),这些Rail Switch 与集群内所有节点的相应轨道NIC都建立直接连接,形成并行的多轨道网络。
在这种架构下,当GPU需要向位于其他节点的GPU发送数据时,PXN首先通过节点内部的NVSwitch,将数据从源GPU移动到本节点中与目标位于相同轨道的GPU,然后再通过该GPU所连接的NIC、经由Rail Switch发送到目标GPU。

在NCCL 2.12之前,例如DGX-A的GPU0向DGX-B的GPU3发送数据时,消息需要依次经过L0、S1和L3三台交换机,网络中的传输路径不仅长,还可能引发网络资源争用和拥塞。同时,若GPU和NIC分属不同的NUMA域,数据需要跨越相对低带宽的CPU间互连,进一步增加时延与开销。
采用PXN机制后,DGX-A的GPU0首先将数据通过NVSwitch移动到与目标同轨道的GPU3,随后数据从该GPU通过本地NIC直接发送到Rail Switch,即只需经过L3 交换机即可到达DGX-B的GPU3,大大缩短了跨节点路径并缓解了资源争用问题。
在多轨道网络架构中,AI训练产生的通信需求(AllReduce、All-to-All 等)可以用多个轨道并行传输加速,并且大部分流量都聚合在轨道内传输(只经过一级ToR Switch),小部分流量才会跨轨道传输(需要经过二级Switch),大幅减轻了大规模下的网络通信压力。
多平面网络
传统网卡单上联的架构下,无论光纤或交换机异常,都会导致训练任务中断。交换机升级期间,业务也需要提前迁移。这对用户体验、系统稳定性以及网络运维都带来了很多问题。

在双上联架构下,服务器上所有网卡的两个端口分别上联至不同交换机,并将两个端口共同组成一个bond端口提供服务。这样在一个上联链路或者对应接入层交换机出现故障时,流量可以切换至另一个端口,从而保证训练任务不中断。
双上联架构设计避免了网卡单上联接入交换机带来的单点故障风险,极大提高了整体系统互联的鲁棒性。此外,这也为集群系统的交换机热升级创造了条件,使得整体网络运维和功能迭代变得更加方便。