Clos and Fat-Tree Topology(Clos 与 Fat-Tree 间接网络)

Mesh and Torus Topology直连网络中每个节点既是终端又是路由器,受 pin/度约束;当 N 大到「每终端 d 端口」不可承受时,切换到间接网络(Indirect Network)——终端只发收,交换节点专职转发。形式化 CLOS 与电信 TST 见 Switching Networks

直连 vs 间接

维度直连(Mesh/Torus)间接(Clos/Fat-Tree)
节点角色终端 + 路由器终端 / 交换分离
终端度受 pin 限制(NoC 常 ≤8)终端度低(常 1)
扩展受 d 约束交换级联 → 线性/对数扩展
典型 N数十–数千 PE数千–数十万 server
代表Cerebras WSE MeshInfiniBand Fat-Tree、Google Jupiter

规模分界:WSE ~900K PE 仍在 Mesh 可制造范围内;90 万节点集群互连需间接拓扑(Fat-Tree / Clos / Dragonfly)。

Clos 网络 C(n, m, r)

输入级 (r 个 n×m)  →  中间级 (m 个 m×m)  →  输出级 (r 个 m×n)
参数含义
n每个输入模块的源端数
m中间模块数
r每个输入/输出模块端口数

无阻塞定理(Clos)

类型条件
严格无阻塞 (SNB)m ≥ 2r − 1
可重排无阻塞 (RNB)m ≥ r

直觉:无阻塞不是消除冲突,而是给冲突留足够中间路径。例 C(3,5,3):m=5 ≥ 2×3−1 → SNB;总交叉点 55,9 端节点。

路由:主要在 input stage 选 middle switch;无两端空闲时需迭代重选(见 Switching Networks)。

Fat-Tree — 代价等价

Leiserson 思想:向上链路带宽 = 子树总带宽 → 任意 bisection cut 无瓶颈。

Core (1) → Aggregation (k²/4) → Edge (k²/2) → k³/4 端节点

k-port Fat-Tree 容纳 N = k³/4 终端;总链路 O(N log N)每终端成本 O(1)

4-ary 例:16 端点,8 个 L1(各 2 端),4 个 L2;向上链路带宽逐层翻倍。

与 Clos 关系:大规模 Fat-Tree 实为 Clos 的带宽对称实现;10 万+ 节点常需三级 Clos 而非二级 Fat-Tree。

Beneš 与其他 MIN

  • Beneš:log₂(N) 级 2×2 交换 + perfect shuffle 互连
  • RNB:可重排后建立任意新连接
  • 应用:电信交换、洗牌网络;详见 Butterfly and MIN Topology(Omega/Banyan/Batcher-Banyan,Day 8)

系统实例

系统拓扑规模特点
InfiniBand HDR2 层 Fat-Tree~4096/子网Subnet Manager、自适应路由
Google Jupiter6 阶段 Clos数十万端口集中式流量工程
Azure (Sonic)Fat-Tree数十万端到端无损
Tofino多级 Clos64–256 端口P4 可编程
Intel Omni-PathFat-Tree数千链路级流控
Multi-plane Clos多平面 Clos131K GPUMRC + SRv6

与 WSE / 研究

场景推荐原因
单片 WSE2-D Mesh4 端口可造,见 Mesh and Torus Topology
16× WSE 集群Dragonfly(Day 9)非数据中心级 Fat-Tree 过重;非 Torus 直径过长
100K GPU 训练多平面 ClosMulti-plane Clos Topology

InfiniBand 4096 端扩展至 10 万:二级 Fat-Tree 不足 → 三级 Clos、分层 SM、ECMP/自适应路由。

相关页面

Citations

[1] interconn-study-21d-day-07.md — D&T Ch.3.6–3.9 间接网络(Day 7)