跳到主要内容

Fat-tree 拓扑

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


基本结构

Fat-tree(胖树)是 AI 集群中最广泛使用的多级交换网络拓扑,基于 Clos 网络理论(Clos, 1953)。

标准 3 级 Fat-tree($k$-port 交换机)

终端节点 (servers/GPUs)
└─> Edge 交换机(ToR 层,每台 k/2 个下行端口连终端)
└─> Aggregation 交换机(汇聚层)
└─> Core 交换机(核心层,(k/2)^2 颗)

每个 Pod 包含 $k/2$ 个 Edge 交换机和 $k/2$ 个 Aggregation 交换机,共 $k$ 个 Pod。相邻层之间的连接遵循特定的连线规则,使得任意两个终端节点之间存在 $k/2$ 条不相交路径(通过不同 Core 交换机)。

Pod 分组结构:每个 Pod 内 Edge 交换机下行端口连接 $k/2$ 个终端,上行端口连接 $k/2$ 个 Aggregation 交换机。每个 Aggregation 交换机的上行端口连接 $(k/2)^2$ 个 Core 交换机中的 $k/2$ 个,保证从任意 Aggregation 到任意 Core 各有一条路径。


关键参数

标准 3 级 Fat-tree,$k$-port 交换机:

属性
终端节点数$k^3 / 4$
Pod 数$k$
每 Pod 交换机$k$$k/2$ Edge + $k/2$ Aggregation)
Core 交换机数$(k/2)^2$
交换机总数$\frac{5k^2}{4}$
链路数$3k^3/4$(服务器→Edge:$k^3/4$,Edge→Agg:$k^3/4$,Agg→Core:$k^3/4$
直径6(终端 -> Edge -> Agg -> Core -> Agg -> Edge -> 终端)
割集带宽$\frac{k^3}{8} \cdot b = \frac{N}{2} \cdot b$全割集带宽

Rearrangeably Non-Blocking (RNB)

Clos 定理:3 级 Clos 网络在中间级交换机数 $m \geq n$ 时为 RNB。即任意输入到输出的排列都可以通过重排实现,不阻塞。

具体含义:任意一对源-目的之间存在 $k/2$ 条不相交路径。对于任意排列通信,总是存在一种路由方案使所有流同时通过而不产生链路冲突。

来源:Al-Fares et al., "A Scalable, Commodity Data Center Network Architecture", SIGCOMM 2008


路由算法

ECMP(等价多路径)

对源-目的对做哈希(通常基于 5-tuple),选择等价路径之一。每对之间有 $k/2$ 条等价路径。

  • 优势:无状态、分布式、无需集中控制
  • 缺陷:哈希碰撞——多条流映射到同一路径,导致部分链路过载而其他空闲

ECMP 碰撞的量化$n$ 条流随机映射到 $k/2$ 条路径,期望最大负载为 $\Theta(\frac{n}{k/2} + \frac{\log(k/2)}{\log\log(k/2)})$(balls-into-bins 问题)。AI 集群的结构化流量(AllReduce 的固定 source-dest 对)使哈希值不变,碰撞是持久的。

死锁避免

Fat-tree 的上行-下行结构天然无环(上行只往上,下行只往下),无需额外虚通道机制。这是 Fat-tree 相比 Torus 的重要工程优势。

Hedera / 自适应路由

集中式 SDN 控制器监控链路利用率,动态重路由大象流以平衡负载。

来源:Al-Fares et al., "Hedera: Dynamic Flow Scheduling", NSDI 2010


通信性能特性

AllReduce

NCCL 在 Fat-tree 上使用 Double Binary Tree 算法:

$T_{\text{Tree-AllReduce}} = 2\log_2 N \cdot \alpha + \frac{2(N-1)}{N} \cdot \frac{M}{\beta}$

延迟项 $O(\log N)$ 优于 Ring 的 $O(N)$,适合小消息。带宽项相同。

NVIDIA SHARP(网内计算):InfiniBand Quantum 交换机在数据转发时直接执行 Reduce 操作:

指标无 SHARP有 SHARP
AllReduce 延迟$2\log_2 N \cdot \alpha$$\log_2 N \cdot \alpha$
网络总传输量$2 \cdot \frac{N-1}{N} \cdot M$$\frac{N-1}{N} \cdot M$
实测改善基准延迟降低 2x,有效带宽提升 30-50%

来源:NVIDIA SHARP Documentation

AllToAll

Fat-tree 的全割集带宽使 AllToAll 理论效率最高。MoE 的稀疏 AllToAll(仅 top-k expert 的 token)在 Fat-tree 上表现良好,因为 ECMP 可分散不规则流量到多条路径。

拥塞特性

  • ECMP 碰撞:Rail-Optimized 通过限制流量在 rail 内消除了 DP 阶段的 ECMP 碰撞
  • Incast 拥塞:AllReduce 的 Reduce 阶段多条流汇聚到同一 ToR 下行端口,需要 PFC + ECN + DCQCN 组合缓解
  • 残余拥塞:主要来自 TP AllReduce(跨 rail)和 MoE AllToAll(不规则模式)

Rail-Optimized Fat-tree

NVIDIA 为 AI 集群设计的关键变体,设计原则:同一 rail 编号的 GPU(来自不同节点但 GPU 编号相同)连接到同一 ToR 交换机。

效果

  • DP AllReduce 天然在同一 rail 内完成(同编号 GPU 之间),不需跨 rail
  • Spine 层只处理 TP/PP 等跨节点通信
  • 可降低 Spine 层 oversubscription,节省 30-50% 网络成本

来源:NVIDIA DGX SuperPOD Reference ArchitectureMudigere et al., ISCA 2022


适用场景

Fat-tree 是通用 AI 训练集群的首选拓扑,适合以下场景:

  1. 全并行策略组合:TP + PP + DP + EP 混合使用,Fat-tree 在所有通信模式上均表现良好
  2. MoE 模型(AllToAll 密集型):全割集带宽是 MoE AllToAll 的必要条件
  3. 大规模扩展:3 级 Fat-tree 支持到 $k^3/4$ 节点,5 级可支持 100K+ GPU
  4. 多租户集群:不同作业的流量可通过 ECMP 自然隔离

局限性

  1. 成本高:交换机总数 $\frac{5k^2}{4}$,链路数 $O(N \log N)$,是 Torus 的 3-5 倍
  2. ECMP 碰撞:结构化 AI 流量下哈希碰撞可预测,可能导致部分链路持续过载
  3. 非 Vertex-Transitive:不同层级的节点视角不同(Edge、Agg、Core 的角色不对称),路由配置相对复杂
  4. 增量扩展按层:扩展需要按 Pod 单位添加,不能任意增量

成本分析

3 级 Fat-tree 的成本结构($k$-port 交换机,$N = k^3/4$ 终端):

组件数量成本驱动
Edge 交换机$k^2/4$~$940-1,170$/port (IB NDR)
Aggregation 交换机$k^2/4$同上
Core 交换机$k^2/4$同上
链路/线缆$k^3/2 + k^2/2$$300-600$/pair (400G AOC 50m)

实际数据:万卡集群的网络成本(交换机 + 光模块 + 线缆)占总 TCO 的 30-40%。

Oversubscription 降本:实际部署中 Spine/Core 层常用 2:1 或 3:1 oversubscription。例如 Edge 层下行 $k/2$ 端口连终端、上行仅 $k/4$ 端口连 Aggregation,割集带宽降为理论值的 50%,但交换机数减少 50%。


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

集群规模节点内拓扑节点间网络特点
NVIDIA Eos10,752 H100NVSwitch 3.0 全互联IB NDR Fat-treeSuperPOD 参考架构
xAI Colossus100,000 H100NVSwitch 全互联IB Fat-tree已知最大 GPU 集群
Meta RSC16,384 A100NVSwitch 全互联IB HDR Fat-treeRail-Optimized
CoreWeave1,440 B200NVL72 全互联IB XDR + SHARPNVL72 首批部署
Oracle OCI~16,000 H100NVSwitch 全互联IB NDR Fat-tree云服务商

来源:NVIDIA SuperPOD BlogCoreWeave nccl-tests


参考资料

资料关键内容
Clos, 1953Clos 网络 RNB 条件
Leiserson, 1985Fat-tree 拓扑提出
Al-Fares et al., SIGCOMM 2008现代 Fat-tree 数据中心实现
Al-Fares et al., NSDI 2010 (Hedera)Fat-tree 自适应流调度
NVIDIA SHARP网内计算实测效果
RFC 2992ECMP 标准