L2
高性能网络
机内互联与 RDMA 网络AI 训练与高性能存储的主战场。先看清机内:PCIe 拓扑决定网卡能不能跑满、NVLink 决定 GPU 之间有多快;再看机间:RDMA 为什么快、无损以太网靠什么撑住,以及怎么把一条链路从网卡打通到 NCCL 跑出正常带宽。
4 个小组 · 10 节课 · 约 6 小时已完成 0/10
1机内互联
2 节 · 70 分钟PCIe 决定网卡能不能跑满,NVLink 决定 GPU 之间有多快。机间网络的账建立在这两笔账之上,所以先看机内。
- 1
PCIe:机内的那张网
原理深入35 分钟PCIe 不是总线而是一张交换网。槽位插错、代际不对,400G 网卡只能跑出一半。
- →按代际与 lane 数算出一条 PCIe 链路的可用带宽,并判断它够不够喂满某张网卡
- →用 lspci 与 nvidia-smi topo 读出实际协商结果与设备间的拓扑关系
- →说出 GPUDirect 对 PCIe 拓扑与 ACS 的要求
- 2
NVLink 与 NVSwitch:机内的 GPU 高速网
原理深入35 分钟GPU 之间走 PCIe 太慢,于是有了另一张网。搞清它的边界在哪,才知道哪些流量会上机间网络。
- →说出各代 NVLink 的单卡带宽与链路数,并把它和 PCIe、机间网络放在同一把尺子上比
- →解释 NVSwitch 让 8 卡全带宽互联的原理,以及 NVL72 把域扩到 72 卡意味着什么
- →用 nvidia-smi 读出 NVLink 状态与吞吐,判断某条链路是否掉了
2RDMA 原理
3 节 · 105 分钟 · 正文 2/3为什么快、IB 与 RoCE 差在哪,以及无损以太网到底靠什么撑住。
- 3
为什么需要 RDMA:内核旁路与零拷贝
原理30 分钟同样的 100Gbps 网卡,TCP 与 RDMA 的延迟差一个数量级。差在哪里,代价是什么。
- →说清 TCP 路径上哪几步被 RDMA 省掉了
- →解释 QP、CQ、MR、Verbs 这几个基本概念
- →判断一个业务该不该上 RDMA
- 4
InfiniBand 架构:子网管理器、LID 与 UFM
原理深入35 分钟仅大纲IB 不是"快一点的以太网",它是另一套体系:地址、路由、拥塞控制全都自成一家。
- →解释 SM 的作用,说出 SM 失效会发生什么
- →区分 LID 与 GID,并读懂 ibstat / ibstatus 输出
- →用 ibdiagnet 之类的工具做一次链路体检
- 5
RoCEv2 与无损以太网:PFC、ECN 与 DCQCN
原理深入40 分钟把 RDMA 跑在以太网上,全部难点集中在一件事:不能丢包。
- →解释 PFC 与 ECN 的分工,说出只配一个会怎样
- →看懂 PFC 风暴与死锁的形成条件
- →列出交换机与主机两侧必须对齐的配置项
3打通一条链路
2 节 · 75 分钟 · 正文 0/2先在两台裸机之间跑出线速,再把 RDMA 交给容器。原理讲完就动手,别等到最后。
- 6
动手:用 perftest 打通第一条 RDMA 链路
实验35 分钟仅大纲ib_send_bw 跑不出线速时,问题几乎总在 GID、设备名或 MTU 上。
- →用 show_gids 选对 GID index 并解释为什么要选
- →跑 ib_send_bw / ib_write_lat 并判读结果是否合格
- →按结果区分是链路问题、配置问题还是拓扑问题
- 7
动手:K8s 里把 RDMA 交给 Pod
实验40 分钟仅大纲network-operator、rdma/hca 资源、hostNetwork 与 MacVLAN 两种模式的实际配法。
- →部署 network-operator 并用 NicClusterPolicy 暴露 rdma/hca 资源
- →按 IB 或 RoCE 场景写对 Pod 的资源与网络配置
- →在 Pod 内验证 RDMA 设备可用并跑通带宽测试
4集群拓扑与集合通信
3 节 · 100 分钟 · 正文 1/3拓扑决定 AllReduce 能跑多快,而 busbw 是验收整条链路的唯一指标。
- 8
Fat-Tree 与 Rail-Optimized 拓扑
原理深入30 分钟仅大纲GPU 集群的网络拓扑不是"接上就行",接错了 AllReduce 直接掉一半带宽。
- →画出两层 Fat-Tree 并算出它的无阻塞条件
- →解释 rail-optimized 布线为什么能让同 rail 通信只走一跳
- →说清 NVLink 域与网络域的边界在哪
- 9
动手:NCCL 与 busbw 判读
实验深入40 分钟仅大纲AllReduce 的 busbw 是 GPU 集群的网络体检报告。这节讲怎么跑、怎么读、怎么调。
- →跑通多节点 all_reduce_perf 并确认正确性检查通过
- →用 2(n-1)/n 校正因子把 busbw 与硬件峰值对比
- →按机型配对 NCCL_IB_HCA、NCCL_SOCKET_IFNAME 等关键变量
- 10
闯关:AllReduce 只有理论值一半
闯关30 分钟两节点 16 卡,busbw 卡在一半上不去。在模拟终端里查出它到底走没走 RDMA。
- →从 NCCL 日志判断走的是 RDMA 还是 TCP
- →核对 GID、HCA 名称与网卡速率是否符合预期
- →定位到一处具体配置错误并说明修法