跳到主要内容

Rail-Optimized Fat-tree

以 Rail 分域的流量感知 Fat-tree 变体——NVIDIA GPU 集群的默认互联拓扑

核心要点

  • 同编号 GPU 的 NIC 连接同一台 Leaf 交换机(称为 Rail),DP AllReduce 在 Rail 内一跳闭合
  • DGX H100 SuperPOD 采用 8-Rail 结构,GB200 NVL72 采用 4-Rail SLG 结构
  • 与标准 Fat-tree 相比,Spine 交换机减少 50%,总交换机减少 25%(1,024 GPU 规模)
  • Intra-Rail 通信始终 1:1 非阻塞,Cross-Rail 带宽可按需过订阅(2:1~3:1)
  • 2-Tier 最大 8,192 GPU(8 Rail × 64-port),3-Tier 最大 524,288 GPU
  • 主要失效场景:MoE EP > 8 时 AllToAll 洪泛 Spine、多租户流量不可预测
  • 学术上属于 Multiplane Fat-tree 的工业实例(arxiv 2605.21187)

设计动机

核心问题:为什么需要 ROFT?它的核心洞察是什么?

Rail-Optimized Fat-tree (ROFT) 的核心洞察:在 TP-within-node + DP-across-node 的典型并行配置下,网络流量的 80-90% 发生在同编号 GPU 之间(DP AllReduce),将这些 GPU 连到同一台 Leaf 可消除 Spine 层竞争

标准 Fat-tree[1] 按节点组织布线——一个节点的所有 GPU 连接同一台 ToR 交换机。DP AllReduce 的通信组由不同节点的同编号 GPU 组成,流量必须上行到 Spine 再下行到另一台 ToR,走 3 跳路径并与所有其他流量共享 Spine 带宽。

ROFT 改变接线方式——所有节点的 GPU[i] 连接到同一台 Rail Leaf[i]。DP AllReduce 流量在 Rail Leaf 交换机内部直接转发,1 跳完成,不占用 Spine 带宽。Spine 只承载跨 Rail 的少量 PP/EP 流量,可以降配。

物理上只需重新插线,交换机硬件不变。逻辑上将一棵 Fat-tree 拆成 $R$ 棵独立的 Rail-local Fat-tree + 一个共享 Spine 层。

标准 Fat-tree vs Rail-Optimized Fat-tree 接线对比@fig-topo-roft-wiring

前提条件

ROFT 依赖以下架构特征:

  • 节点内全互联:NVSwitch 提供节点内 GPU 全连接,TP 通信不经网络
  • 1 GPU : 1 NIC 对应关系:DGX H100 每 GPU 配一块 ConnectX-7 NIC,NIC 编号与 GPU 编号一一对应
  • DP 是主要网络流量:TP 在节点内 NVLink 闭合后,DP AllReduce 是网络的主要负载

物理布线

核心问题:ROFT 的物理接线方式是什么?H100 和 GB200 有何不同?

DGX H100 SuperPOD (8-Rail)

DGX H100 每节点 8 GPU,每 GPU 对应 1 块 ConnectX-7 400 Gbps InfiniBand NIC。8 条 Rail 编号 Rail 07,分别连接所有节点的 GPU 07。

Scalable Unit (SU) = 32 节点 / 256 GPU,交换机配置见 @tbl-roft-su-switch

SU 数节点数GPU 数LeafSpineCore层级
1322568402-Tier
26451216802-Tier
41281,024321602-Tier
82562,048643202-Tier
165124,096128128643-Tier
321,0248,1922562561283-Tier

@tbl-roft-su-switch DGX H100 SuperPOD 交换机配置(QM9700 64-port NDR 400 Gb/s)[2]

每条 Rail 是一棵独立的 2-Tier Fat-tree:

  • 1 SU 内:每 Rail 有 1 台 Leaf(连 32 个同编号 GPU)+ 连接到共享 Spine
  • 4 SU 时:每 Rail 有 4 台 Leaf(连 128 GPU),8 条 Rail 共享 16 台 Spine

布线规则

$$\begin{equation} \text{GPU}[i]_{\text{node } n} \xrightarrow{\text{NIC}_i} \text{Rail Leaf}[i]_{\left\lfloor n / (k/2) \right\rfloor} \label{eq:roft-wiring-rule} \end{equation}$$

其中 $k$ 为交换机端口数,$k/2$ 为每台 Leaf 的下行端口数(连接 GPU 的端口)。

GB200 NVL72 (4-Rail SLG)

GB200 NVL72 机柜内 72 GPU 通过 NVLink 5.0 + NVSwitch 4.0 全互联,构成单一 NVLink 域。对外通过 ConnectX-8 SuperNIC 连接到 InfiniBand 网络。

GB200 NVL72 的 Rail 结构与 H100 不同:

维度DGX H100GB200 NVL72
Rail 数84
NIC/GPU 比1:11:1(CX8 SuperNIC 18 块/机柜)
Rail 组织按 GPU 编号按 SLG(Spine-Leaf Group)
SU 组成32 节点 (256 GPU)8 机柜 (576 GPU)

@tbl-roft-h100-vs-gb200 DGX H100 vs GB200 NVL72 Rail 结构

**SLG(Spine-Leaf Group)**是 GB200 的 Rail 等价概念。每个 SU(8 机柜 / 576 GPU)内有 4 个 SLG,每个 SLG 连接每机柜中 18 个 NIC 到对应的 Leaf 组。4 个 SLG 对应 4 条 Rail[3]

Rail 命名

NVIDIA 文档中 Rail 的等价术语:

术语来源含义
RailDGX SuperPOD 文档连接同编号 GPU 的 InfiniBand 平面
PlaneNCCL topology XML同 Rail,NCCL 拓扑文件中的字段名
SLG (Spine-Leaf Group)GB200 NVL72 文档GB200 中的 Rail 等价概念
Network Plane学术文献 (arxiv 2605.21187)Multiplane Fat-tree 中的单个平面

@tbl-roft-naming Rail 命名对照

流量工程

核心问题:ROFT 中不同类型流量如何分类和路由?对 NCCL 通信库有何影响?

Rail-Local 与 Cross-Rail 流量分类

ROFT 将网络流量分为两类,走不同路径:

流量类型并行策略路径跳数
Rail-LocalDP AllReduce / ZeRO ReduceScatter+AllGatherGPU → NIC → Rail Leaf → NIC → GPU1
Cross-RailPP P2P / EP AllToAll / CP AllGatherRail Leaf → Spine → Rail Leaf3

@tbl-roft-traffic 流量分类与路径

DP AllReduce 在 Rail 内闭合的条件:通信组由同编号 GPU 组成(标准 DP 配置天然满足)。ZeRO 将 AllReduce 拆为 ReduceScatter + AllGather,通信组不变,同样 Rail-Local。

Cross-Rail 流量产生条件:通信组跨越不同编号 GPU。PP 的相邻 stage 若不在同一 Rail,P2P 走 Spine;EP 的 AllToAll 组跨所有 Rail;CP 的 KV 传输跨 Rail。

典型流量比例

并行配置DP AllReduce(Rail-Local)TP AllReduce(NVLink)PP P2P(Cross-Rail)EP AllToAll(Cross-Rail)
纯 DP95-100%0%0%0%
DP + TP(TP 节点内)60-70%30-40%0%0%
3D (DP+TP+PP)30-50%30-50%10-20%0%
MoE (DP+EP)30-40%0%0%60-70%

@tbl-roft-traffic-ratio 典型流量比例(网络流量不含 NVLink)

TP 通信在节点内 NVLink/NVSwitch 完成,不占网络带宽。网络视角下,DP AllReduce 是 Dense Transformer 训练的主要流量,在 ROFT 中完全 Rail-Local。

NCCL 与 Rail 结构的交互

NCCL 通过以下机制感知和利用 ROFT 拓扑(详见 集合通信/NCCL):

  • NCCL_CROSS_NIC:控制跨 NIC 行为。=0 强制 Rail-Local;=2(默认)自动优先同 Rail
  • PXN(PCIe Cross-NIC):NCCL 2.12+ 允许 GPU 经 NVLink 转到目标 Rail 的 NIC 发送,保持 Rail-Local 通信路径
  • NCCL_TOPO_FILE:自定义拓扑 XML 的 <rail> / <plane> 字段显式标注 Rail 身份,指导 Ring/Tree 通道构建

Oversubscription 语义

核心问题:ROFT 的过订阅与标准 Fat-tree 有何不同?Spine 带宽如何配置?

双层 Oversubscription

ROFT 中 Oversubscription 有两层含义,与标准 Fat-tree 的单一全局 Oversubscription 不同:

维度ROFT标准 Fat-tree
定义分层:Intra-Rail + Cross-Rail 独立配置全局:下行总带宽 / 上行总带宽
Intra-Rail始终 1:1 非阻塞N/A(无 Rail 概念)
Cross-Rail取决于 Spine provisioning,1:1~3:1 可调N/A
影响范围只有 Cross-Rail 流量受 Spine 限制所有流量统一受限

@tbl-roft-oversub Oversubscription 对比

Spine 带宽配置

NVIDIA DGX SuperPOD H100 官方参考架构采用 1:1 非阻塞(每层线缆数相等)[4]。但生产部署可选择降低 Spine 带宽:

Cross-Rail OversubscriptionSpine 带宽占比适用场景成本节省
1:1100%MoE EP 密集型 / 全割集需求基准
2:150%通用训练(DP + 少量 EP/PP)~30% Spine
3:133%DP 为主 / 推理~50% Spine

@tbl-roft-spine-provision Spine 过订阅配置

设计合理性:DP 流量不经 Spine(Rail 内闭合),Spine 只承载 Cross-Rail 流量(PP P2P + EP AllToAll)。Dense Transformer 训练中 Cross-Rail 流量仅占网络总流量 10-20%,Spine 2:1 过订阅对性能影响有限。

多层扩展

核心问题:ROFT 如何扩展到万卡/十万卡集群?2-Tier 与 3-Tier 的最大 GPU 数是多少?

2-Tier 与 3-Tier ROFT

每条 Rail 是独立的 Fat-tree。2-Tier 时为 Leaf-Spine 结构;超过 $k^2/4$ 节点/Rail 时需要 3-Tier(Leaf-Spine-Core):

$$\begin{equation} N_{\max}^{\text{2-Tier ROFT}} = R \times \frac{k^2}{4} \label{eq:roft-2tier-max} \end{equation}$$ $$\begin{equation} N_{\max}^{\text{3-Tier ROFT}} = R \times \frac{k^3}{4} \label{eq:roft-3tier-max} \end{equation}$$

其中 $R$ 为 Rail 数,$k$ 为交换机端口数。

配置公式QM9700 (64-port, R=8)
2-Tier 单平面$R \times k^2/4$8,192 GPU
3-Tier 单平面$R \times k^3/4$524,288 GPU
2-Tier 4-Plane$4R \times k^2/4$32,768 GPU
3-Tier 4-Plane$4R \times k^3/4$2,097,152 GPU

@tbl-roft-scale-max ROFT 最大集群规模

层级阈值

DGX H100 SuperPOD(8 Rail, 64-port QM9700, 32 nodes/SU):

  • 2-Tier 上限:8 SU = 256 节点 / 2,048 GPU。每 Rail 有 $256/8 = 32$ 个 GPU,使用 1 台 Leaf(32 下行端口 + 32 上行端口 = 64 端口满配)
  • 3-Tier 起点:超过 8 SU 时,每 Rail 的 Leaf 数超过 $k/2 = 32$,单层 Spine 无法全互联所有 Leaf,引入 Core 层

Multiplane 架构

arxiv 2605.21187 将 ROFT 学术化为 Multiplane Fat-tree:每个平面(Plane)是一棵独立 Fat-tree,主机通过多块 NIC 同时接入多个平面[5]

ROFT 是 Multiplane 的工业特例:

  • Plane 数 = Rail 数 = GPU/node
  • 每块 NIC 只连一个 Plane(Rail)
  • Plane 间通过 Spine 互联

通用 Multiplane 可以有任意 Plane 数和连接策略。Spectrum-X 论文报告 4-Plane 2-Tier 配置最大 128K endpoints,4-Plane 3-Tier 最大 16M endpoints。

定量对比

核心问题:ROFT 相比标准 Fat-tree 在交换机数量、Spine 减少、Bisection Bandwidth 上具体差多少?

1,024 GPU 规模(8 Rail, 64-port 交换机)

指标标准 Fat-tree (2-Tier)ROFT (2-Tier)差异
Leaf 交换机3232相同
Spine 交换机3216-50%
Core 交换机00相同
总交换机6448-25%
Node-Leaf 线缆1,0241,024相同
Leaf-Spine 线缆1,0241,024相同

@tbl-roft-vs-standard 1,024 GPU 规模 ROFT vs 标准 Fat-tree[2]

Spine 减少的来源

标准 Fat-tree 的 Spine 必须全互联所有 Leaf。ROFT 的每条 Rail 有独立 Spine,只需连接同 Rail 内的 Leaf 子集:

$$\begin{equation} \text{Spine}_{\text{standard}} = \frac{N_{\text{Leaf}} \times (k/2)}{k} = \frac{N_{\text{Leaf}}}{2} \label{eq:roft-spine-standard} \end{equation}$$ $$\begin{equation} \text{Spine}_{\text{ROFT}} = R \times \frac{N_{\text{Leaf}}/R}{2} = \frac{N_{\text{Leaf}}}{2} \times \text{oversubscription\_factor} \label{eq:roft-spine-roft} \end{equation}$$

实际 Spine 减少幅度取决于配置:

配置ROFT Spine标准 Spine减少比例
1 SU (256 GPU)4850%
3 SU (760 GPU)162433%
4 SU (1,024 GPU)163250%
8 SU (2,048 GPU)326450%

@tbl-roft-spine-reduction Spine 减少幅度(DGX H100 SuperPOD)[2]

Bisection Bandwidth

维度ROFT标准 Fat-tree
Intra-Rail Bisection$\frac{N}{2R} \cdot b$(每 Rail 全割集)N/A
Cross-Rail Bisection取决于 Spine provisioningN/A
总 Bisection(1:1 provisioning)$\frac{N}{2} \cdot b$(与标准相同)$\frac{N}{2} \cdot b$
路径多样性Cross-Rail 路径受 Spine 限制全部路径等价

@tbl-roft-bisection Bisection Bandwidth 对比

关键区别:1:1 provisioning 时总 Bisection Bandwidth 相等。差异在路径多样性——标准 Fat-tree 有 $k/2$ 条等价路径供 ECMP 选择;ROFT 的 Cross-Rail 流量路径受限于 Spine 容量。

仿真建模影响

核心问题:仿真器需要哪些参数和逻辑变更来准确建模 ROFT?

拓扑参数化

仿真器区分 ROFT 与标准 Fat-tree 的核心差异:

  1. 接线模式:ROFT 的 Leaf 按 Rail 组织(同编号 GPU → 同 Leaf),标准 Fat-tree 按节点组织(同节点 GPU → 同 Leaf)
  2. 流量路由:根据并行策略判断 Rail-Local(1 跳)或 Cross-Rail(3 跳)
  3. Spine 负载:ROFT Spine 只承载 Cross-Rail 流量,标准 Fat-tree Spine 承载所有跨 Leaf 流量

跳数与延迟差异

通信类型ROFT 跳数标准 Fat-tree 跳数延迟差异
DP AllReduce13ROFT 延迟降约 2/3
EP AllToAll (EP>8)33相同
PP P2P (跨 Rail)33相同

@tbl-roft-hops 跳数对比

拥塞模型差异

场景ROFT Spine 拥塞标准 Fat-tree Spine 拥塞
纯 DP AllReduce无(Spine 空闲)中等(DP 流量经 Spine)
EP AllToAll (EP>8)高(Spine 设计容量不足)低(全割集)
DP + EP 混合中等(仅 EP 占 Spine)中等(DP + EP 共享 Spine)
多租户高(不可预测流量)低(全割集适应任意模式)

@tbl-roft-congestion 拥塞概率对比

建模建议

仿真器建模 ROFT 需要的参数:

  • rail_count: int:Rail 数(H100 = 8, GB200 = 4)
  • spine_oversubscription: float:Spine 过订阅比(1.0 = 1:1 非阻塞)
  • 流量分类函数:根据通信原语和并行策略标记 rail_local / cross_rail
  • Rail Leaf 内部带宽:始终 1:1 非阻塞
  • Spine 带宽:按 spine_oversubscription 缩放

局限与适用边界

主要失效场景

MoE EP > 8 时 AllToAll 洪泛 Spine。EP 组跨越多条 Rail,AllToAll 全连接流量涌入 Spine。以 DeepSeek-V3 为例:EP=64,256 路由 expert 分布在 64 GPU 上,AllToAll 跨 8 条 Rail,Spine 承载 $64 \times 64$ 全连接流量矩阵。

DeepSeek-V3 的缓解策略:

  • Node-limited routing:每 token 最多路由到 4 个节点
  • DualPipe:AllToAll 与 expert 计算重叠
  • FP8 量化:通信量减半

推理服务。请求路由到任意 GPU,流量模式不可预测,Rail-Local 优化无效。

多租户集群。不同 job 流量模式多样,与 Rail 对齐概率低。标准 Fat-tree 全割集更适合。

Rail Leaf 单点故障域放大。一台 Rail Leaf 故障导致所有节点的同编号 GPU 失联。标准 Fat-tree 中一台 Leaf 故障仅影响连到它的节点。

决策矩阵

决策因素选 ROFT选标准 Fat-tree
模型类型Dense Transformer(GPT/Llama)MoE Transformer(DeepSeek/Mixtral)
EP 度≤ 8(节点内闭合)> 8(跨节点 AllToAll)
集群用途单租户专用训练多租户通用集群 / 推理
流量 Rail-Local 比例> 80%< 50%
故障域容忍可接受 Rail 粒度需要节点粒度
成本权重高(省 30-50% Spine)低(性能优先)

@tbl-roft-decision 选型决策矩阵

实际部署案例

集群规模Rail 数互联特点
NVIDIA Eos4,608 H1008IB NDR 3-TierSuperPOD 参考架构
xAI Colossus100,000 H1008IB NDR已知最大 GPU 集群
Meta RSC Phase 216,000 A1008IB HDRRail-Optimized
Microsoft Azure ND H100 v5数千 H1008IB NDR云服务商部署
Alibaba HPN100K+ GPU8RoCE 400GbEDual-ToR + Rail-Optimized[6]
Tencent Astral500K GPUSame-Rail Tier-2[7]

@tbl-roft-deploy 实际部署案例

NVIDIA DGX SuperPOD 是 ROFT 的参考实现。所有 DGX 集群默认采用 Rail-Optimized 布线[2]

Meta 是大规模 AI 集群中主动选 RoCE(而非 IB)的厂商,35,000+ H100 集群采用 5-Tier Clos(RoCE 400GbE)。动机:供应商多样性、运维一致性、以太网交换机比 IB 便宜 30-50%。

Alibaba HPN(SIGCOMM 2024)在 Rail-Optimized 基础上增加 Dual-ToR 容灾,同时保持 Rail 结构。

与 Fat-tree 章节的关系

本文档是 2.3 Fat-tree 中 Rail-Optimized 节(约 30 行概述)的完整独立扩展。03-fat-tree.md 覆盖标准 Fat-tree 的结构与公式,本文聚焦 ROFT 的布线、流量工程、扩展公式和适用边界。

Takeaway

知识点核心结论
本质按 GPU 编号重新接线的 Fat-tree,1 Rail = 1 独立非阻塞子树
设计前提DP AllReduce 是网络主要流量 + 节点内 NVSwitch 处理 TP
交换机节省Spine 减少 33-50%,总交换机减少 ~25%
扩展上限2-Tier 8,192 GPU / 3-Tier 524,288 GPU(8 Rail, 64-port)
主要优势DP 延迟从 3 跳降为 1 跳,Spine 零负载
主要风险MoE EP>8 AllToAll 洪泛 Spine / Rail Leaf 故障域放大
学术定位Multiplane Fat-tree 的工业实例
仿真关键按并行策略分类流量为 Rail-Local vs Cross-Rail

参考资料

  1. Al-Fares M. et al., A Scalable, Commodity Data Center Network Architecture, SIGCOMM 2008. https://dl.acm.org/doi/10.1145/1402958.1402967
  2. NVIDIA, DGX SuperPOD Reference Architecture: Scalable Infrastructure for H100. https://docs.nvidia.com/dgx-superpod/reference-architecture-scalable-infrastructure-h100/latest/dgx-superpod-architecture.html
  3. NVIDIA, DGX SuperPOD Reference Architecture: GB200 NVL72. https://docs.nvidia.com/dgx-superpod/reference-architecture-scalable-infrastructure-gb200-nvl72/latest/
  4. NVIDIA, DGX SuperPOD H100 Network Fabrics. https://docs.nvidia.com/dgx-superpod/reference-architecture-scalable-infrastructure-h100/latest/network-fabrics.html
  5. Katta N. et al., High-speed Networking for Giga-Scale AI Factories, arXiv:2605.21187, 2025. https://arxiv.org/abs/2605.21187
  6. Alibaba, HPN: A Data Center Network for Large Language Model Training, SIGCOMM 2024. https://dl.acm.org/doi/10.1145/3651898
  7. Tencent, Astral: Autonomous, Scalable, and Topology-Aware Scheduling for Large-Scale AI Training, SIGCOMM 2025. https://dl.acm.org/doi/10.1145/3721877