发布时间:2025-05-09 11:47:53 点击量:
HASH GAME - Online Skill Game GET 300或者,我们在部署的最初几年设计并部署了路径固定方案。该方案根据目标“切片”(RTSW 下行链路的索引)将数据包路由到特定路径。如果每个机架都完全分配给同一项工作并且网络没有故障,这种方法效果很好。然而,这种情况很少发生。我们发现机架可以部分分配给一项工作,机架中的两个主机中只有一台使用上行链路带宽。这种分散的工作安排导致特定 RTSW 的上行链路上流量分布不均匀和拥塞,并使训练性能降低 30% 以上。此外,上行链路或 CTSW 上的网络故障导致受影响的流通过 ECMP 不均匀地重新分配给其他 CTSW。这些重新分配的流与其他现有流发生冲突,并减慢了整个训练工作的速度。
为了缓解 400G 及更高速率的拥塞,我们共同设计了集体库和 RoCE 传输,以强制接收器驱动的流量接纳,从而获得更好的性能。下图显示,我们生产训练集群中的 GPU 到 GPU 通信架构主要使用通过 NCCL 集体库进行的两阶段复制和接收器发起的通信。每个 GPU 的高带宽内存 (HBM) 维护多个通道,用于并行传输分块集体消息。发送方 GPU 线程首先将数据从计算缓冲区复制到可用的通道缓冲区。发送方 CPU 代理线程只能在从接收器收到包含大小和内存信息的清除发送 (CTS) 数据包后才能发布 RDMA 写入请求。然后,接收器的 GPU 线程将通道缓冲区内容复制到目标计算缓冲区。最后,两侧的 CPU 代理线程回收通道缓冲区,一旦通道缓冲区准备就绪,接收器 CPU 代理就会发送另一个 CTS 数据包。