DGX/HGX GPU 集群网络拓扑结构:胖树、脊叶和蜻蜓+ 对比

介绍

在设计用于人工智能训练的GPU集群时,选择合适的网络拓扑结构是最关键的决策之一。拓扑结构决定了带宽可用性、延迟特性、可扩展性限制以及总体拥有成本。本文深入比较了DGX和HGX集群的三种主流拓扑结构:胖树(Fat-Tree)、脊叶(Spine-Leaf,CLOS)和蜻蜓+(Dragonfly+)。

拓扑学基础

网络拓扑定义了交换机和计算节点之间的互连方式。对于人工智能集群而言,理想的拓扑结构必须满足以下条件:

  • 高二分带宽:集群的任意一半都可以以全速与另一半通信。
  • 低直径:任意两个节点之间的最小跳数
  • 可扩展性:能够从数百个节点扩展到数万个节点。
  • 容错性:端点之间有多条路径以实现冗余
  • 成本效益:性能与资本支出之间的最佳平衡

胖树拓扑

胖树网络拓扑三层架构

建筑学

胖树是一种多根树状结构,其带宽向核心递增。一个典型的三层胖树包含:

  • 边缘/叶层:直接连接到GPU服务器的交换机
  • 聚合/主干层:连接叶交换机的中间交换机
  • 核心层:提供 pod 间连接的顶层交换机(适用于超大规模部署)

在纯粹的 Fat-Tree 架构中,每个叶子交换机都连接到每个脊交换机,从而形成一个无阻塞的结构,具有完整的二分带宽。

主要特征

  • 二分带宽: 100%(无阻塞)
  • 直径: 4-6个啤酒花(叶→刺→刺→叶)
  • 可扩展性:采用三层架构,最多可支持 10 万个以上的终端节点。
  • 冗余:任意两台服务器之间有 N 条路径(N = 脊交换机的数量)

优势

  • 可预测的、确定性的性能
  • 成熟的设计模式和操作实践
  • 完全二分带宽消除网络瓶颈
  • 非常适合全员通信(梯度同步)

缺点

  • 电缆数量多:N 个交换机需要 O(N²) 根电缆
  • 成本高:需要很多高基数开关
  • 功耗与集群规模呈线性关系
  • 大型部署中物理布线的复杂性

最佳应用案例

  • 拥有 100-5,000 个 GPU 的集群
  • 需要保证带宽的工作负载(LLM培训)
  • 可预测性比成本更重要的环境

脊柱-叶片(CLOS)拓扑结构

脊叶式CLOS网络拓扑图

建筑学

Spine-Leaf 是一种两层 CLOS 架构,是 Fat-Tree 的通用化版本,专为数据中心部署而优化:

  • 叶层:连接服务器的机架顶部 (ToR) 交换机
  • 脊层:提供叶级互连的聚合交换机

每个叶子都连接到每个脊柱,但与 Fat-Tree 不同,Spine-Leaf 允许不对称设计(例如,不同的端口数量、超额订阅率)。

主要特征

  • 二分带宽: 50-100%(可通过超额订阅进行配置)
  • 直径: 2 个啤酒花(叶→刺→叶)
  • 可扩展性: 10,000-100,000 个端点
  • 灵活性:支持锥形设计(2:1、4:1 超额订阅)

优势

  • 比 Fat-Tree 延迟更低(跳数更少)
  • 灵活的超额订阅机制可实现成本优化
  • 符合行业标准的设计,并有广泛的供应商支持
  • 更易于逐步扩展(根据需要添加脊柱交换机)

缺点

  • 过度设计可能会造成瓶颈
  • 需要精心设计交通方案以避免交通热点区域。
  • 仍然需要大量的布线(虽然比 Fat-Tree 少)。

最佳应用案例

  • 通用GPU集群(混合训练/推理)
  • 部署方案优先考虑成本效益平衡
  • 具有本地感知工作负载放置功能的集群

DGX SuperPOD 示例

NVIDIA DGX SuperPOD 参考架构

NVIDIA 的 DGX SuperPOD 采用 Spine-Leaf 设计,并搭载 InfiniBand 技术:

  • 叶交换机: NVIDIA Quantum-2 QM8700(64 个端口,400Gbps)
  • 主干交换机: NVIDIA Quantum-2 QM9700(64 个端口,400Gbps)
  • 配置:每叶节点 20 个 DGX A100 系统,每叶节点 8 条上行链路连接至脊节点
  • 二分带宽:每个 SuperPOD 25.6Tbps(无阻塞)

Dragonfly+拓扑

Dragonfly+网络拓扑层级结构

建筑学

Dragonfly+ 是一种专为超大规模系统(10,000 个以上节点)设计的分层拓扑结构。它将节点组织成组,组内节点之间相互连通,组间连接稀疏:

  • 组内:组内所有交换机完全连接。
  • 组间:每个交换机都与其他组中的交换机相连。
  • 层级式:可以扩展到多个层级(组的组合)

主要特征

  • 二分法带宽: 40-60%(低于 Fat-Tree,但足以满足大多数工作负载的需求)
  • 直径: 3 跳(本地交换机 → 全局链路 → 远程组 → 目的地)
  • 可扩展性:支持 10 万个以上的端点,具有两级层次结构
  • 电缆效率: O(N^1.5) vs. Fat-Tree 的 O(N²)。

优势

  • 电缆数量大幅减少(比 Fat-Tree 减少 50-70%)
  • 以极高的规模降低每个港口的成本
  • 非常适合具有局部性的工作负载(模型在组内并行化)
  • 开关数量减少,从而降低了功耗。

缺点

  • 需要复杂的路由算法(自适应路由至关重要)
  • 性能很大程度上取决于流量模式
  • 对于所有类型的流量而言,Fat-Tree 的可预测性较差。
  • 需要复杂的工作负载分配策略

最佳应用案例

  • 超大规模集群(10,000+ GPU)
  • 具有强局部性的工作负载(流水线并行、联邦学习)
  • 对成本较为敏感且不需要 100% 二分带宽的部署

拓扑结构对比表

方面 肥树 脊叶 蜻蜓+
二分 BW 100% 50-100% 40-60%
直径 4-6个啤酒花 2 跳 3次跳跃
可扩展性 10万个节点 10万个节点 100万+个节点
电缆数量 非常高 高的 中等的
成本(相对) 最高 中等的 最低
复杂 低的 低的 高的
可预测性 出色的 好的 公平的

选择合适的拓扑结构

适用于中小型集群(100-1000 个 GPU)

推荐:脊柱叶(2层CLOS)

  • 成本、性能和简易性之间的最佳平衡
  • 2跳延迟非常适合训练工作负载
  • 易于部署和操作

适用于大型集群(1,000-10,000 个 GPU)

建议:Fat-Tree 或 Spine-Leaf,尽量减少超额认购。

  • 在此规模下,完整的二分带宽至关重要。
  • 可预测的性能足以证明更高的成本是合理的。
  • 这些拓扑结构的运行成熟度降低了风险

适用于超大规模集群(10,000+ GPU)

推荐:蜻蜓+或多层CLOS

  • 在这种规模下,电缆缩减变得至关重要。
  • 工作负载放置策略可以缓解二分带宽降低的问题。
  • 与 Fat-Tree 相比,成本可节省 30-50%。

混合方法

许多部署都采用混合拓扑结构:

  • 组内胖树 + 组间蜻蜓:训练组内全带宽,组间稀疏连接
  • 采用轨道优化的脊叶式架构:计算、存储和管理流量采用独立的网络结构
  • 分层式 CLOS:用于超大规模部署的多层主干网络

结论

GPU集群没有万能的拓扑结构。由于其可预测性和运维成熟度,Fat-Tree和Spine-Leaf架构在100到10000个GPU的规模范围内占据主导地位。而Dragonfly+架构则因其成本效益,成为超大规模部署的理想选择,能够充分利用工作负载的局部性。

选择拓扑结构时,请考虑以下因素:

  • 集群规模和增长轨迹
  • 工作量特征(全员沟通与本地化沟通)
  • 预算限制(资本支出和运营支出)
  • 操作方面的专业知识和工具

对于目前部署 DGX 或 HGX 集群的大多数组织而言,采用 400G/800G 光模块和 1:1 或 2:1 超额订阅的两层 Spine-Leaf 架构,在性能、成本和操作简易性方面达到了最佳平衡。

返回博客