NNetpath
L2

高性能网络

机内互联与 RDMA 网络

AI 训练与高性能存储的主战场。先看清机内:PCIe 拓扑决定网卡能不能跑满、NVLink 决定 GPU 之间有多快;再看机间:RDMA 为什么快、无损以太网靠什么撑住,以及怎么把一条链路从网卡打通到 NCCL 跑出正常带宽。

4 个小组 · 10 节课 · 约 6 小时已完成 0/10

1机内互联

2 节 · 70 分钟

PCIe 决定网卡能不能跑满,NVLink 决定 GPU 之间有多快。机间网络的账建立在这两笔账之上,所以先看机内。

  1. 1

    PCIe:机内的那张网

    原理深入35 分钟

    PCIe 不是总线而是一张交换网。槽位插错、代际不对,400G 网卡只能跑出一半。

    • 按代际与 lane 数算出一条 PCIe 链路的可用带宽,并判断它够不够喂满某张网卡
    • 用 lspci 与 nvidia-smi topo 读出实际协商结果与设备间的拓扑关系
    • 说出 GPUDirect 对 PCIe 拓扑与 ACS 的要求
  2. 2

    NVLink 与 NVSwitch:机内的 GPU 高速网

    原理深入35 分钟

    GPU 之间走 PCIe 太慢,于是有了另一张网。搞清它的边界在哪,才知道哪些流量会上机间网络。

    • 说出各代 NVLink 的单卡带宽与链路数,并把它和 PCIe、机间网络放在同一把尺子上比
    • 解释 NVSwitch 让 8 卡全带宽互联的原理,以及 NVL72 把域扩到 72 卡意味着什么
    • 用 nvidia-smi 读出 NVLink 状态与吞吐,判断某条链路是否掉了

2RDMA 原理

3 节 · 105 分钟 · 正文 2/3

为什么快、IB 与 RoCE 差在哪,以及无损以太网到底靠什么撑住。

  1. 3

    为什么需要 RDMA:内核旁路与零拷贝

    原理30 分钟

    同样的 100Gbps 网卡,TCP 与 RDMA 的延迟差一个数量级。差在哪里,代价是什么。

    • 说清 TCP 路径上哪几步被 RDMA 省掉了
    • 解释 QP、CQ、MR、Verbs 这几个基本概念
    • 判断一个业务该不该上 RDMA
  2. 4

    InfiniBand 架构:子网管理器、LID 与 UFM

    原理深入35 分钟仅大纲

    IB 不是"快一点的以太网",它是另一套体系:地址、路由、拥塞控制全都自成一家。

    • 解释 SM 的作用,说出 SM 失效会发生什么
    • 区分 LID 与 GID,并读懂 ibstat / ibstatus 输出
    • 用 ibdiagnet 之类的工具做一次链路体检
  3. 5

    RoCEv2 与无损以太网:PFC、ECN 与 DCQCN

    原理深入40 分钟

    把 RDMA 跑在以太网上,全部难点集中在一件事:不能丢包。

    • 解释 PFC 与 ECN 的分工,说出只配一个会怎样
    • 看懂 PFC 风暴与死锁的形成条件
    • 列出交换机与主机两侧必须对齐的配置项

3打通一条链路

2 节 · 75 分钟 · 正文 0/2

先在两台裸机之间跑出线速,再把 RDMA 交给容器。原理讲完就动手,别等到最后。

  1. 6

    动手:用 perftest 打通第一条 RDMA 链路

    实验35 分钟仅大纲

    ib_send_bw 跑不出线速时,问题几乎总在 GID、设备名或 MTU 上。

    • 用 show_gids 选对 GID index 并解释为什么要选
    • 跑 ib_send_bw / ib_write_lat 并判读结果是否合格
    • 按结果区分是链路问题、配置问题还是拓扑问题
  2. 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 是验收整条链路的唯一指标。

  1. 8

    Fat-Tree 与 Rail-Optimized 拓扑

    原理深入30 分钟仅大纲

    GPU 集群的网络拓扑不是"接上就行",接错了 AllReduce 直接掉一半带宽。

    • 画出两层 Fat-Tree 并算出它的无阻塞条件
    • 解释 rail-optimized 布线为什么能让同 rail 通信只走一跳
    • 说清 NVLink 域与网络域的边界在哪
  2. 9

    动手:NCCL 与 busbw 判读

    实验深入40 分钟仅大纲

    AllReduce 的 busbw 是 GPU 集群的网络体检报告。这节讲怎么跑、怎么读、怎么调。

    • 跑通多节点 all_reduce_perf 并确认正确性检查通过
    • 用 2(n-1)/n 校正因子把 busbw 与硬件峰值对比
    • 按机型配对 NCCL_IB_HCA、NCCL_SOCKET_IFNAME 等关键变量
  3. 10

    闯关:AllReduce 只有理论值一半

    闯关30 分钟

    两节点 16 卡,busbw 卡在一半上不去。在模拟终端里查出它到底走没走 RDMA。

    • 从 NCCL 日志判断走的是 RDMA 还是 TCP
    • 核对 GID、HCA 名称与网卡速率是否符合预期
    • 定位到一处具体配置错误并说明修法