跳到主要内容

Torus 拓扑

关联:总览.md — 名词定义与评估指标体系


基本结构

Torus(环面)是 $k$-ary $n$-cube 拓扑族的带环绕链路版本:每维 $k$ 个节点,$n$ 维,总节点 $N = k^n$。每个节点在每个维度上与相邻节点相连,且首尾相接形成环(环绕链路)。

以 2D Torus 为例:节点排列在一个 $k \times k$ 的网格上,每个节点与上下左右 4 个邻居相连,同时最左列与最右列相连、最上行与最下行相连,构成一个"甜甜圈"形状。3D Torus 则在此基础上增加第三维。

Mesh vs Torus 的区别

  • Mesh(无环绕链路):边界节点度数低于内部节点,Vertex-Transitive 性质不成立
  • Torus(有环绕链路):所有节点度数相同($2n$),Vertex-Transitive,流量分布更均匀

关键参数

$k$-ary $n$-cube 统一表示:

Mesh(无环绕链路)

属性
度数$2n$(内部)、$n$-$2n$(边界)
直径$n(k-1)$
链路数$n \cdot k^{n-1} \cdot (k-1)$
割集带宽$k^{n-1} \cdot b$
Vertex-TransitiveNo(边界节点度数不同)

Torus(有环绕链路)

属性
度数$2n$(所有节点一致)
直径$n \cdot \lfloor k/2 \rfloor$
链路数$n \cdot k^n$
割集带宽$2k^{n-1} \cdot b$
Vertex-TransitiveYes

Torus 的环绕链路使割集带宽翻倍(沿某维切开,两侧各 $k^{n-1}$ 条链路被切断),同时将直径减半,且消除边界效应使流量分布更均匀。

维度对比

维度节点度割集带宽 (Torus)直径链路/节点
1D (Ring)2$2b$$k/2$1
2D ($k \times k$)4$2k \cdot b = 2\sqrt{N} \cdot b$$k = \sqrt{N}$2
3D ($k \times k \times k$)6$2k^2 \cdot b = 2N^{2/3} \cdot b$$\frac{3k}{2} = \frac{3}{2}N^{1/3}$3

割集带宽随维度提升:$O(N^{(n-1)/n})$。3D Torus 在 $N=4096$ 时割集带宽为 Fat-tree 的 25%,但链路数仅为 Fat-tree 的 ~1/3。

Torus vs Fat-tree 割集带宽-成本权衡

$N$Fat-tree 割集带宽3D Torus 割集带宽Torus/Fat-treeTorus 链路数 / Fat-tree 链路数
256$128b$$80b$63%~30%
1,024$512b$$204b$40%~25%
4,096$2,048b$$512b$25%~20%
8,960$4,480b$$920b$21%~18%

Torus 是"带宽换成本"的工程权衡:相同成本下割集带宽更低,但每 dollar 的带宽更高。


路由算法

Dimension-Ordered Routing (DOR)

按固定维度顺序(X -> Y -> Z)逐维修正坐标:

源 (x1, y1, z1) -> 目标 (x2, y2, z2):
1. 沿 X 维从 x1 移到 x2
2. 沿 Y 维从 y1 移到 y2
3. 沿 Z 维从 z1 移到 z2
  • Mesh 上 DOR 无死锁:路径严格按维度推进,不可能形成环
  • Torus 上 DOR 有死锁风险:环绕链路形成环。解决方案:

自适应路由:Duato 协议——一组 VC 做确定性 DOR(保证无死锁),另一组做自适应选路(提高吞吐)。

Valiant 路由:先路由到随机中间节点,再到目的地。路径长度翻倍但负载均衡。Google TPU v4 使用了 Valiant 变体应对非均匀流量(来源:Jouppi et al., ISCA 2023)。


通信性能特性

Dimension-Decomposition AllReduce

Torus 上 AllReduce 的核心方法:将 $n$-D Torus 的全局 AllReduce 分解为 $n$ 个沿各维的 1D Ring AllReduce。

在 3D Torus ($k_x \times k_y \times k_z$) 上:

$T_{\text{AllReduce}} \approx \sum_{d=1}^{3} \left[ 2(k_d - 1) \cdot \alpha + \frac{2(k_d - 1)}{k_d} \cdot \frac{M}{\beta_d} \right]$

总传输量 $= \frac{2(N-1)}{N} \cdot M$,与 Ring AllReduce 相同——带宽最优。

来源:Wan et al., "Synthesizing Optimal Collective Algorithms", PPoPP 2022

AllToAll on Torus

按维度分解,每维内做 AllToAll。在 MoE 工作负载中,3D Torus 的 AllToAll 受限于割集带宽。Google 在 TPU v4 上引入 OCS 光路交换动态重配拓扑以缓解此问题(来源:TPU v4 ISCA 2023)。

拥塞特性

DOR 路由的热点:角落到角落的流量沿维度交界处集中。2D Mesh 中心链路的流量是边缘的 $O(k)$ 倍。Torus 的环绕链路使流量更均匀。

AI 通信 pattern

  • AllReduce (TP/DP):dimension-decomposition 在 Torus 上完美均匀——每步每条链路恰好承载一条流
  • AllToAll (MoE):流量模式不规则,容易造成局部拥塞。Google TPU v4 论文报告了 MoE AllToAll 在 3D Torus 上的性能瓶颈(来源:ISCA 2023)

Mesh vs Torus 拥塞对比:Mesh 的边界效应使靠近中心的链路承载更多流量,Torus 消除了这一不对称。但 Torus 的环绕链路需要长线缆(跨越整个维度),增加延迟和布线复杂度。


适用场景

Torus 最适合以下场景:

  1. 自研芯片生态:TPU 在芯片上集成 ICI 端口,可构建无交换机直连 Torus,成本极低
  2. PP + DP 为主的并行策略:Torus 在 AllReduce 上带宽最优,PP 的维度分布天然匹配
  3. AllToAll 需求低的工作负载:密集 Transformer(非 MoE),AllToAll 量少,Torus 割集带宽不是瓶颈
  4. 成本极敏感场景:Torus 的网络成本约为 Fat-tree 的 8-20%(无交换机)

局限性

  1. AllToAll 效率低:MoE 模型的全局 AllToAll 在 3D Torus 上产生 $O(\sqrt{N})$ 拥塞比,是致命弱点
  2. 割集带宽随规模快速下降$N=8960$ 时仅为 Fat-tree 的 21%
  3. 增量扩展困难:改变维度大小需要重新布线,无法任意增量
  4. 环绕链路长线缆:Torus 的长程环绕链路需要光缆,增加成本。Google 通过 OCS 解决部分问题
  5. 死锁需要额外处理:Torus 的环绕链路形成环,需要虚通道或 bubble flow control

在大模型集群中的实际应用

Google TPU 是 Torus 在 AI 大规模集群中的唯一实际应用:

系统拓扑规模维度配置每芯片 I/O 带宽
TPU v22D Torus25616×164×500 Gbps (per-link)
TPU v32D Torus1,02432×324×800 Gbps (per-link)
TPU v43D Torus4,0964×4×4 cube,OCS 重配~2.4 Tbps
TPU v5p3D Torus8,96016×20×28~4.8 Tbps
Trillium (v6e)2D Torus25616×16~6.4 Tbps
Ironwood (v7)3D Torus9,216多维~9.6 Tbps

来源:TPU v4 ISCA 2023Google Cloud TPU v5p

TPU 代际演进的拓扑选择逻辑

  • v2/v3:2D Torus,每芯片 4 个 ICI 端口(度数 4),适合中等规模 Pod
  • v4/v5p:升级到 3D Torus,每芯片 6 个 ICI 端口,割集带宽从 $O(\sqrt{N})$ 提升到 $O(N^{2/3})$,支撑 4K-9K 芯片 Pod。v4 基本构建块为 4×4×4 cube(64 chips),通过 OCS 光路交换动态重配组合为更大 Pod;v5p 最大配置 16×20×28
  • Trillium (v6e):回退到 2D Torus(256 chips/pod),ICI 带宽提升至 ~6.4 Tbps/chip,将大规模扩展交给跨 Pod OCS
  • Ironwood (v7):3D Torus,9216 chips,ICI 带宽提升至 ~9.6 Tbps/chip

TPU v4 的 OCS 层:4×4×4 cube(64 chips)之间通过 OCS 光路交换灵活组合,可将 4096 芯片组合为不同形状的 Torus(如 4×4×256, 8×8×64, 4×16×64 等)。一个物理 SuperPod 可同时服务多个不同形状的逻辑集群(来源:ISCA 2023)。

Google 为何选择 Torus

  • 自研芯片可集成 ICI 端口——无需外部交换机,网络成本 <10% of TCO
  • 带宽断崖消除——所有芯片等地位,同一 Torus 贯穿全 Pod
  • AllReduce 带宽最优——Dimension-Decomposition 算法在 Torus 上完美均匀
  • AllToAll 瓶颈通过 Expert 放置策略 + OCS 动态调整部分缓解

成本

  • 链路数 $n \cdot k^n$(Torus),线性增长 $O(nN)$
  • 无需交换机——直连网络,每节点固定 $2n$ 端口
  • 对比 Fat-tree:3D Torus 链路数约为 Fat-tree 的 1/3-1/5,但割集带宽也低 3-5x

关键数据$N = 1024$$k = 64$ 端口交换机,400G 链路):

  • Fat-tree 网络成本:~$7.2M
  • 3D Torus 网络成本:~$0.6M(无交换机,仅链路

3D Torus 的性价比(带宽/$)是 Fat-tree 的 5 倍——但前提是 AllToAll 需求低且可以自研芯片集成 ICI。


参考资料

资料关键内容
Jouppi et al., "TPU v4", ISCA 20233D Torus + OCS 设计,MoE AllToAll 瓶颈
Google Cloud TPU v5p16×20×28 Torus 配置
Dally & Seitz, 1987Torus 死锁避免(虚通道)
Wan et al., PPoPP 2022Torus AllReduce 最优算法
Fujitsu Fugaku6D Mesh/Torus(158,976 节点)