跳到主要内容

端口模型

多端口硬件的实现成本与边际收益递减规律

核心要点

  • 1-port 仅理论模型,现代硬件至少 2-port
  • 端口数增长 → DMA / 物理链路 / 交换网络三层成本
  • 边际收益 $O(1 / k^2)$, $k = 1 \to 2$ 性价比最高,$k = 16$ 以上极低
  • 端口数饱和后瓶颈转移到 HBM / 软件调度 / PCIe
  • 网内计算 (NVLS) 比端口数增长是更根本的突破路径

理论下界依赖端口模型,见 4.2 理论下界。本文从硬件实现角度分析端口数 $k$ 的实际配置、成本与收益边界。

主流加速器的端口配置

核心问题:现实硬件 $k$ 是多少,1-port 模型在生产中存在吗?

硬件$k$互联单端口单向 BW总双向实现
SG22602CDMA C2C64 GB/s256 GB/sCDMA + VSDMA 双 DMA
NVIDIA A1006NVLink 3.025 GB/s600 GB/s12 链路 (6 双向对),每条独立引擎
NVIDIA H1009NVLink 4.050 GB/s900 GB/s18 链路 + NVSwitch
NVIDIA B200 (NVL72)18NVLink 5.050 GB/s1800 GB/s18 链路 + 9 NVSwitch, 72 GPU 全连接
Google TPU v46ICI42 GB/s504 GB/s3D Torus,每维 2 条双向
AMD MI300X7XGMI 3.064 GB/s896 GB/s7 条 XGMI
InfiniBand NDR~all-portRDMA50 GB/s视拓扑多 QP 并发硬件调度

@tbl-cc-port-hw-config 主流 AI 加速器端口配置

关键观察1-port 模型在实际硬件中不存在。理论中用 1-port 给最保守下界,不描述真实硬件。

端口数增长的硬件成本

核心问题:端口数 $k$ 加倍,成本来自哪里?

DMA 引擎

每个独立端口需完整 DMA 子系统:

  • 发 / 收 FIFO (32–128 KB / 端口)
  • 地址转换 (VA → PA)
  • 流控逻辑 (信用 / 反压)
  • 中断 / 轮询状态机

SG2260 从 1 → 2 端口 (CDMA → CDMA + VSDMA),互联子系统面积增 5–10%。DMA 引擎在现代芯片占比小,相对低

物理链路 (规模急剧上升)

链路数 $\propto k$,单链路成本随规模急剧上升:

规模链路类型单链路成本主要构成
2–4 芯 (板内)PCB 走线 / C2C~$1 / lanePCB 层数 / 信号完整性
8 芯 (单机)NVLink bridge / 短铜缆~$55 / lane连接器 / DAC 铜缆
16–32 芯 (跨板)有源铜缆 AEC~$70–105 / lane有源电缆 / 交换芯片
64+ 芯 (跨机)光模块 AOC~$247 / lane光收发器 / 光纤 / 交换机

@tbl-cc-port-link-cost 物理链路成本随规模

NVL72 互联成本结构:每 GPU 18 链路 (50 GB/s 每条) + 9 NVSwitch (~$500–1000 / 颗), 仅交换芯片 $5000–9000,加铜缆连接器,互联占整机 BOM 15–25%

交换网络

$k$ 超过直连邻居数即需交换网络:

方案支持 $k$额外硬件成本
直连 (Ring / Mesh)$d$ (拓扑度)
NVSwitch (单级)全连 8 GPU1–2 NVSwitch$1000–2000
NVSwitch (两级)全连 72 GPU9 NVSwitch$5000–9000
InfiniBand 交换all-port多级 Fat-tree$10k–100k / 节点

@tbl-cc-port-switch-cost 交换网络成本

收益递减分析

核心问题:端口数加倍带来多少时间缩短?性价比何时崩溃?

理论边际收益

Ring AllReduce 带宽项在 $k$-port 下:

$$\begin{equation} T_{\beta}^{k\text{-port}} = \frac{2 (N - 1)}{N} \cdot \frac{M}{k \beta} \label{eq:port-kport-ring-time} \end{equation}$$

边际收益:

$$\begin{equation} \Delta T = T_{\beta}^{k} - T_{\beta}^{k+1} = \frac{2 (N - 1) M}{N \beta} \cdot \frac{1}{k (k+1)} \label{eq:port-kport-marginal-gain} \end{equation}$$

边际收益 $O(1 / k^2)$ 递减:

$k \to k+1$时间减少边际硬件成本性价比
1 → 250%低 (+1 DMA 引擎)极高
2 → 425%中 (链路翻倍)
4 → 812.5%高 (需交换芯片)
8 → 166.25%很高 (多级交换)
16 → all-port< 5%极高 (全连接)仅大规模训练可接受

@tbl-cc-port-roi 端口数边际收益与成本

瓶颈转移

$k$ 足够大时通信瓶颈从端口转到其他子系统

HBM 带宽

H100: NVLink 总 900 GB/s, HBM3 3350 GB/s, NVLink 占 HBM 27% 尚有余量。但多 DMA 同时读 HBM 时与计算单元争抢,实际可用下降。NVLink 利用率 > ~60% 时 HBM 争抢成瓶颈。

软件调度

端口越多,调度复杂度越高

  • 2-port:两方向独立,调度简单 (SCCL 左 / 右分工)
  • 8-port:需规划哪个 chunk 走哪条链路,避免冲突
  • all-port:需全局调度 (NCCL channel / ring 分配),软件开销本身成为延迟一部分

PCIe / Host

CPU ↔ 加速器 PCIe Gen5 x16 仅 64 GB/s,远低于加速器间互联。跨 Host 时 PCIe 真正瓶颈,加速器端口数再加无意义。

超越端口数:网内计算

核心问题:端口数收益触顶后,还有什么路径?

NVIDIA 选择把计算下沉到交换网络

方案每 GPU 传输量 (AllReduce, $M$ B)需端口数
Ring (1-port)$\frac{2 (N-1)}{N} M \approx 2 M$1
Ring (2-port)同 (时间减半,总量不变)2
NVLS (网内规约)$M$ (发 $M$ + 收 $M$,交换机内规约)1 (到 NVSwitch)

@tbl-cc-port-vs-nvls 端口数 vs 网内计算

NVLS 思路:与其让每 GPU 搬 $2 M$ 数据 (搬得更快),不如让 NVSwitch 内部直接做规约,每 GPU 只发 $M$ (原数据) + 收 $M$ (规约结果)。从根本上把传输量减半,突破软件 AllReduce 带宽下界

详见 4.10 NVLS

Takeaway

知识点核心结论
1-port 真实性仅理论模型,现代硬件至少 2-port
端口成本三层DMA + 物理链路 + 交换网络
链路成本随规模板内 ~$1, 短铜 ~$55,光模块 ~$247
NVL72 互联占比整机 BOM 15–25%
边际收益$O(1 / k^2)$, $k = 1 \to 2$ 性价比最高
端口饱和后瓶颈HBM 争抢 / 软件调度 / PCIe
网内计算比端口数增长更根本的突破路径

@tbl-cc-port-takeaway 端口模型要点

参考资料