跳到主要内容

拓扑对集合通信的影响

关键拓扑指标如何决定算法选择与分层通信策略

核心要点

  • 关键四指标:度 $d$ / 直径 $D$ / Bisection $B_{\text{bis}}$ / 对称性
  • Ring 延迟 $O(N)$, Hypercube / Fat-Tree 延迟 $O(\log N)$,带宽项常一致
  • 2D Torus 把延迟降到 $O(\sqrt{N})$,适合中等规模无 Fat-Tree 投资场景
  • 多层异构拓扑分层策略 (高带宽层内多做) 加速 5×+
  • 端口数加倍主要让 Ring 步数减半,Tree / Hypercube 类对端口不敏感
  • Topology-Algorithm co-design 是开放方向 (ZCube / SCCL / TACCL)

拓扑关键指标

核心问题:不同原语对拓扑的哪个指标最敏感?

四个核心指标

指标对集合通信的意义
$d$节点聚合带宽上限 $d \beta$
直径 $D$Broadcast / Reduce 延迟下界 $D \cdot \alpha$
Bisection $B_{\text{bis}}$AllReduce / AllToAll 全局带宽下界
对称性负载均衡,非对称拓扑某些节点成瓶颈

@tbl-cc-topo-metrics 拓扑关键四指标

常见拓扑指标对比

拓扑$d$直径 $D$$B_{\text{bis}}$对称成本
Linear1–2$N - 1$$\beta$最低
Ring2$\lfloor N / 2 \rfloor$$2 \beta$
Binary Tree1–3$2 \log_2 N$$\beta$
Fat-Tree ($k$-ary)$k$$2 \log_k N$$\sim N \beta / 2$层级
Hypercube$\log_2 N$$\log_2 N$$N \beta / 2$中高
2D Torus4$\sqrt{N}$$2 \sqrt{N} \beta$
3D Torus6$\frac{3}{2} N^{1/3}$$2 N^{2/3} \beta$
Fully-Connected$N - 1$1$N^2 \beta / 4$极高

@tbl-cc-topo-spec-cmp 常见拓扑关键指标

各拓扑上的 AllReduce 性能

核心问题:AllReduce 是对拓扑最敏感的原语,不同拓扑上代价相差多少?

Ring

$$\begin{equation} T_{\text{Ring}} = 2 (N - 1) \alpha + \frac{2 (N - 1)}{N} \cdot \frac{M}{\beta} \label{eq:cc-topo-ring-ar} \end{equation}$$
  • 带宽利用率接近 100%,实现简单,对称
  • 延迟 $O(N)$, $N$ 大延迟爆炸
  • 适用规模 $N \le 8 \sim 16$

Hypercube (Halving-Doubling)

$$\begin{equation} T_{\text{Hypercube}} = 2 \log_2 N \cdot \alpha + \frac{2 (N - 1)}{N} \cdot \frac{M}{\beta} \label{eq:cc-topo-hypercube-ar} \end{equation}$$

延迟降到 $O(\log N)$,带宽与 Ring 同。代价:度 $O(\log N)$,布线复杂。

2D Torus ($r \times c$)

分层 Ring:先行内 Ring AR ($r$ 节点),后列内 Ring AR ($c$ 节点)。正方形 $r = c = \sqrt{N}$:

$$\begin{equation} T_{\text{2D-Torus}} \approx 4 (\sqrt{N} - 1) \alpha + 4 \cdot \frac{\sqrt{N} - 1}{\sqrt{N}} \cdot \frac{M}{\beta} \label{eq:cc-topo-2dtorus-ar} \end{equation}$$

延迟从 $2 (N-1) \alpha$ 降到 $4 (\sqrt{N} - 1) \alpha$,减 $\sqrt{N} / 2$ 倍。$N = 16$ 时:Ring 30 步 vs 2D-Torus 12 步。

Fat-Tree

$k$-ary 直径 $2 \log_k N$, Full bisection 保证带宽:

$$\begin{equation} T_{\text{Fat-Tree}} = 2 \log_k N \cdot \alpha + \frac{2 (N - 1)}{N} \cdot \frac{M}{\beta} \label{eq:cc-topo-fattree-ar} \end{equation}$$

延迟和带宽都接近最优,代价:交换机数 $O(N \log N / k)$

性能对比 ($N = 16$, $M = 1$ MB, $\alpha = 1 \mu s$, $\beta = 64$ GB/s)

拓扑算法延迟项 ($\mu s$)带宽项 ($\mu s$)总 ($\mu s$)
RingRing AR3029.359.3
HypercubeHalving-Doubling829.337.3
2D Torus (4×4)分层 Ring12~47~59
Fully-Connectedall-port RS + AG21.03.0

@tbl-cc-topo-perf-cmp AllReduce 拓扑性能对比 (N=16, M=1 MB)

Fully-Connected 用 all-port RS + AG 各 1 步,每节点同时向 $N - 1$ 个邻居各发 $M / N$:延迟项 $2 \alpha = 2 \mu s$,带宽项 $\frac{M / N}{\beta} \approx 1.0 \mu s$

端口模型的影响

核心问题:端口数 $k$ 加倍,哪些算法步数减半,哪些不变?

各原语对端口数的敏感度

原语算法1-port 步数2-port 步数加速
Broadcast链式$N - 1$$\lceil (N-1) / 2 \rceil$≈ 2×
Broadcast二叉树$\log_2 N$$\log_2 N$
AllGatherRing$N - 1$$\lceil (N-1) / 2 \rceil$≈ 2×
AllReduceRing$2 (N - 1)$$\approx N$≈ 2×
AllReduceHalving-Doubling$2 \log_2 N$$2 \log_2 N$
AllToAllPairwise$N - 1$$N - 1$

@tbl-cc-topo-port-sensitivity 各原语对端口数敏感度

关键规律

  • Ring 类从双向最获益,步数减半
  • Tree / Hypercube 类对方向性不敏感
  • AllToAll Pairwise 已天然双向交换

2-port Ring AllReduce

$N$ chunk 分两半双向传:

$$\begin{equation} T_{\text{2port-Ring}} \approx N \alpha + \frac{M}{\beta} \label{eq:cc-topo-2port-ring} \end{equation}$$

半双工的代价

收发必须串行化,Ring 每步时间翻倍:

$$\begin{equation} T_{\text{half-duplex-Ring}} = 2 (N - 1) \cdot 2 \cdot \left( \alpha + \frac{M / N}{\beta} \right) \label{eq:cc-topo-halfduplex-ring} \end{equation}$$

带宽利用率降至全双工一半。现代高性能互联极少半双工。

详细端口硬件成本见 4.12 端口模型

多层级异构拓扑

核心问题:现实集群跨级带宽差 10–100×,如何让算法适配?

现实层级结构

层级拓扑带宽延迟
L2: Chip 内 (多 Die)D2D Ring / Mesh100–900 GB/s0.1–0.5 $\mu s$
L3: Board 内 (多 Chip)NVLink Ring / FC64–900 GB/s0.5–2 $\mu s$
L4: Rack 内 (多 Board)PCIe / NVLink / IB25–400 GB/s2–5 $\mu s$
L5: Rack 间InfiniBand / Ethernet12.5–100 GB/s5–50 $\mu s$

@tbl-cc-topo-hierarchy 异构集群层级结构

带宽跨度 L2 → L5 可达 10–100×,延迟跨度 10–500×

分层 AllReduce (2 层)

核心原则:高带宽层内多做,最小化跨低带宽层的通信量。

$G$ 组 × $L$ 节点 / 组 ($N = G L$):

  1. Intra-group RS:数据量 $M \to M / L$
  2. Inter-group AR:跨组数据量 $M / L$ (减 $L$ 倍)
  3. Intra-group AG:恢复完整结果
$$\begin{equation} T_{\text{hier}} = 2 (L - 1) \alpha_{\text{intra}} + \frac{2 (L - 1) M}{L \beta_{\text{intra}}} + 2 (G - 1) \alpha_{\text{inter}} + \frac{2 (G - 1) M}{G L \beta_{\text{inter}}} \label{eq:cc-topo-hier-ar} \end{equation}$$

数值对比

$G = 4, L = 8, N = 32, M = 100$ MB, $\beta_{\text{intra}} = 450, \beta_{\text{inter}} = 25$ GB/s:

  • 直接 Ring (跨组瓶颈):$T_{\text{flat}} \approx 310 + 7750 = 8060 \mu s$
  • 分层:$T_{\text{hier}} = 403 + 780 + 403 = 1586 \mu s$
  • 加速 ≈ 5.1×

跨组数据量从 100 MB 缩到 12.5 MB,跨组带宽时间从 7750 → 750 $\mu s$

SCCL 拓扑策略

芯片数拓扑算法
2直连直接交换
4RingRing AllReduce
8RingRing AllReduce
162D Torus分层 Ring

@tbl-cc-topo-sccl-strategy SCCL 不同规模拓扑选择

16 芯 2D Torus 由两个 8 芯 Ring 纵向互联,是分层策略典型实例。

拓扑-算法匹配指南

核心问题:给定并行策略和规模,如何根据拓扑特征选择最优集合通信算法?

拓扑最佳 AllReduce最佳 AllToAll最佳 Broadcast
RingRing ARRing A2A双向链式
HypercubeHalving-DoublingBruckBinomial Tree
2D Torus分层 Ring分维 A2A分维 Broadcast
Fat-TreeTree ARPairwiseBinomial Tree
Fully-ConnectedDirectPairwiseBinomial Tree

@tbl-cc-topo-algo-match 拓扑-算法匹配速查

新趋势:拓扑与算法 co-design

核心问题:拓扑设计与集合通信算法是否能联合优化?

历史分工

过去 30 年两条独立脉络:

  • 拓扑研究:图论给新拓扑 (Clos / Dragonfly / SlimFly / PolarFly),证几何性质,不考虑具体算法
  • 算法研究:针对已有拓扑设计最优算法,拓扑是"输入"不参与优化

万卡 LLM 训练下暴露问题:拓扑为通用 workload 设计,算法在拓扑上"凑合",双方互不知道彼此存在。

ZCube:拓扑由 workload 反向决定

SIGCOMM 2025 论文 ZCube 提出 ATOP (Automated Topology Optimization Pipeline):把拓扑结构编码为超参数,让搜索算法在四目标 (LLM 流量性能 / 集合通信性能 / 容错 / 成本) 下找最优结构。

智谱 GLM-5.1 千卡推理生产数据 (来源):

  • 推理吞吐 +15%
  • TTFT P99 -40.6%
  • 交换机 + 光模块成本 -1/3

SIGCOMM 2025 论文训练仿真:端到端速度比 ROFT / Rail-only / HPN 提升 3–7%,硬件成本节省 26–46%。

局限:真实 testbed 仅 16 GPU 报告 NCCL AR / A2A 吞吐 (与 ROFT 持平),千卡级单原语性能未单独分解。

co-design 的潜力与现状

ATOP 是部分 co-design:搜索时把"集合通信性能"作为目标之一,但算法本身不是搜索变量。评估候选拓扑用 ForestColl 算理论 AG 下界 — 相当于假定每个候选拓扑都能用上理论最优算法,把"算法选择"消去维度。

全联合 co-design (拓扑 + 算法 + 路由 + 并行同搜索) 大规模下被认为是 NP 难。ATOP / TopoOpt 都是工程妥协,不是真正联合。

维度现状改进方向
拓扑选择人工 + 经验 (Fat-tree 默认)按 workload 自动搜 (ZCube)
算法选择NCCL / RCCL 启发式由拓扑搜索统一选定
端口模型拓扑给定后算法适配搜索时纳入端口配置
容错策略算法对故障透明拓扑搜索显式建模故障代价

@tbl-cc-topo-codesign-status co-design 现状与改进方向

深入思考

新拓扑对算法选择的实际冲击:上节匹配指南隐含假设拓扑能提供多路径 (由 ECMP / AR / packet spraying 负载均衡)。ZCube 用 hand-crafted static optimal routing 为每对 GPU 预选一条路径 (消哈希碰撞),物理上仍有多路径但调度层不用。所有依赖"路径多样性掩盖热点"的算法都失去用武之地,算法库可能需新增"static-routing optimized"档。

co-design 的两难:拓扑硬件投资周期 5–10 年,workload 演化 1–2 年。按当前 workload 搜拓扑,几年后 workload 变了拓扑就过时。真正 co-design 应是"拓扑自适应 workload" (可重构 OCS / SiPh),当前无规模化生产案例。

算法侧同步进化:基于 SMT / MILP 自动合成 AllReduce 调度的工作 (Cai et al., SCCL PPoPP 2021; Shah et al., TACCL NSDI 2023) — 注意此 SCCL (微软算法合成工具) 与上文 SOPHGO 同名互联库不是一回事。算法搜索与拓扑搜索仍各自为政,联合执行无公开生产案例,是接下来 2–3 年值得关注的方向。

Takeaway

知识点核心结论
四指标度 / 直径 / Bisection / 对称性
Ring 适用$N \le 16$,大 $N$ 延迟爆炸
Hypercube / Fat-Tree延迟 $O(\log N)$ 同时带宽近最优
2D Torus 折中延迟 $O(\sqrt{N})$,无 Fat-Tree 投资场景
端口数加倍Ring 类步数减半,Tree 类不变
分层 AR 收益跨慢链路数据量减 $L$ 倍,加速 5×+
拓扑-算法匹配按拓扑类型选最优算法
co-design 趋势ZCube / SCCL / TACCL,但联合搜索仍未成熟

@tbl-cc-topo-takeaway 拓扑影响要点

参考资料