深度解析 NVIDIA 的超节点架构演进
本文为原创文章,版权归作者所有。未经许可,禁止转载。
超节点无疑是过去半年最为火热的一个概念。从 NVIDIA 发布 NVL72,宣称单套系统提供 1,440 PFLOPS 算力;到华为的 CloudMatrix 384 号称提供 300 PFLOPs FP16 算力 ,达到英伟达 GB200 NVL72 系统(约 180 PFLOPs)的 近两倍 。各家国产 GPU 厂商也普遍不甘示弱,纷纷推出了自己的 32 卡或 64 卡超节点方案。互联协议作为兵家必争之地,连阿里、腾讯和字节都不甘示弱投身其中。从 UALink、ALS(阿里
这就是研究了一个月下来的感受,超节点远不止堆砌服务器和 GPU 那么简单,远不止用高速互联代替 RDMA。那么到底什么是超节点呢?
什么是超节点 ¶
超节点是借助高速无损互联技术,突破传统计算节点以 CPU 和 PCIe 总线为核心的通信边界,构建的新一代计算架构。在硬件互联层面,超节点采用 NVLink、CXL 或专用交换网络等先进互连协议,在加速卡(GPU/NPU)之间构建了高带宽、低延迟的直接通信域(Scale-Up Domain,或称高带宽域,High Bandwidth Domain, HBD
NVIDIA 超节点产品 ¶
2020 年,NVIDIA 在其推出的 HGX-A100 系统中,通过第二代 NVSwitch 将两个八卡 A100 以背板方式连接,构成一个 16 卡系统。2022 年,随 Hopper 架构推出的第三代 NVSwitch 支持更灵活的组网方式,能够实现 32 颗 GH200(32x GPU)的互联(NVL32)1,最大可实现 256 颗 GH100 的互联(NVL256
| 参数 | NVL32 | GH200 SuperPod | NVL72 | GB200 SuperPod |
|---|---|---|---|---|
| 架构 | Hopper | Hopper | Blackwell | Blackwell |
| HBM 大小 | 32 x 144GB = 4.6 TB | 256 x 96GB = 24.5 TB | 36 x 384GB = 13.8 TB | 288 x 384GB = 110 TB |
| LPDDR5X 大小 | 32 x 480GB = 15.4 TB | 256 x 480GB = 123 TB | 36 x 480GB = 17.3 TB | 288 x 480GB = 138 TB |
| HBM 带宽 | 3.35 TB/s | 4.8 TB/s | 8 TB/s | 8 TB/s |
| FP16 (FLOPS) | 32 PetaFLOPS | 256 PetaFLOPS | 180 PetaFLOPS | 1440 PetaFLOPS |
| INT8 (OPS) | 64 PetaOPS | 64 PetaOPS | 360 PetaOPS | 2880 PetaOPS |
| FP8 (FLOPS) | 64 PetaFLOPS | 64 PetaFLOPS | 360 PetaFLOPS | 2880 PetaFLOPS |
| FP6 (FLOPS) | N/A | N/A | 360 PetaFLOPS | 2880 PetaFLOPS |
| FP4 (FLOPS) | N/A | N/A | 720 PetaFLOPS | 5760 PetaFLOPS |
| GPU-GPU 带宽 | 0.9 TB/s | 0.9 TB/s | 1.8 TB/s | 1.8 TB/s |
| NVSwitch | Gen3 64 Port | Gen3 64 Port | Gen4 72 Port | Gen4 72 Port |
| NVLink 带宽 | 36 x 0.9 TB/s = 32 TB/s | 256 x 0.9 TB/s = 230 TB/s | 72 x 1.8 TB/s = 130 TB/s | 576 x 1.8 TB/s = 1 PB/s |
| Ethernet 带宽 | 16 x 200 Gb/s | 256 x 200 Gb/s | 18 x 400 Gb/s | 576 x 400 Gb/s |
| IB 带宽 | 32 x 400 Gb/s | 256 x 400 Gb/s | 72 x 800 Gb/s | 576 x 800 Gb/s |
| GPUs Power | 32 x 1 kW = 32 kW | 256 x 1 kW = 256 kW | 36 x 2.7 kW = 97.2 kW | Not provided |
超节点技术趋势分析 ¶
在 2022 年 Hopper 架构发布之际,NVIDIA 提出了十年内 GPU 算力增长 1000 倍的“黄氏定律” (Huang’s Law)3。其中,低精度数值格式、Tensor Core 和工艺进步分别贡献了约 16 倍、12 倍和 2.5 倍的算力提升。这揭示出 NVIDIA 是一家系统供应商而非单纯的芯片供应商,其算力增长并非仅依赖芯片本身。
回顾从 Volta 到 Rubin 系列的演进,NVIDIA 的技术战略非常清晰:通过算力、互联、存储和封装等多个维度的协同创新,实现系统层面的指数级性能增长 。其目标是每两年提供约 6 倍的系统算力提升,并计划在十年内实现 7000 倍的增长(若考虑芯片在低精度和稀疏上能力的进步,这个增长可能超过 10000 倍
- 单芯片算力:每代提升约 3 倍。
- Scale-Up 域:互联规模和带宽同步翻倍。
- 内存系统:HBM 带宽翻倍,容量提升 3 倍。
从 Blackwell 架构开始,先进封装 成为其算力增长的又一关键。通过 NV-HBI(NVIDIA High-Bandwidth Interface)技术 4,NVIDIA 将两颗 GPU 裸片(Die)高速互联,提供高达 10 TB/s 的双向带宽,使它们在逻辑上可作为单一、统一的 GPU 工作。这标志着 NVIDIA 的增长引擎已从单纯提升单点指标(如芯片算力或互联速率
| 系列 | Volta | Ampere | Hopper | Blackwell | Rubin |
|---|---|---|---|---|---|
| SKU | V100 | A100(HGX) | GH200(CPU+GPU) | GB200(CPU+2GPU) | ?VR200(CPU+2GPU) |
| 单卡算力(FP16) | 0.125 PFLOPS | 0.312 PFLOPS | 0.9 PFLOPS | 2.25 PFLOPS x 2 | |
| 系统规模 | 8 | 16(OEM 提供 ) 10 | 32 | 72 | |
| 系统总算力 | 1 PFLOPS | 5 PFLOPS | 32 PFLOPS | 180 PFLOPS | |
| 系统 HBM 总容量 | 8 x 32GB = 0.256 TB | 16 x 80GB = 1.28 TB | 32 x 144GB = 4.6 TB| | 36 x 384GB = 13.8 TB |
上述代际指标体现的是“系统级(按 FP16 口径)”的复合放大轨迹。结合黄氏定理(Huang’s Law)所给出的十年≈1000 倍增长拆解:低精度数值格式≈16×、Tensor Core 与矩阵引擎≈12×、制程与微架构≈2.5×3,可以得出一个结论:单纯依赖芯片工艺或单点架构优化已无法支撑指数级提升,必须依靠多维协同的系统工程。
超节点正是这一“系统化方法”的工程化载体:以 FP16 系统算力观测,每两年约≈6×,十年区间潜在≈7000×;若叠加 Blackwell 世代引入的 FP6/FP4 等更低精度执行路径,其有效可用算力(在可接受精度与稀疏 / 混合精度策略前提下)还可能进一步放大到“>10000×”数量级(例如:FP4 聚合算力 720 PetaFLOPS(NVL72)至 5760 PetaFLOPS(GB200 SuperPod)相较 Hopper FP8 64 PetaFLOPS 的 11–90× 跨代放大
因此,超节点已不仅是硬件形态命名,而是一个将“互联 - 存储 - 算力 - 编程模型”联动优化的系统工程范式。竞争策略若缺失系统性视角,极易在实际大模型训练 / 推理场景中遭遇利用率折损与规模效率崖降。下文将分别从硬件基石与软件生态两个层面继续拆解其内在结构。
超节点硬件系统 ¶
如前文所述,超节点通过系统级创新来支撑算力曲线的持续指数级增长。之所以要突破传统的”Scale-Out”扩展 AI 集群的范式,主要原因在于:
- 通信瓶颈:PCIe 与以太网的带宽增长难以匹配 NVLink 每两年带宽翻倍的快速增长。以 H100 为例,NVLink 4.0 提供 900GB/s 的 GPU 间带宽,而 PCIe 5.0 x16 仅 128GB/s,相差 7 倍。随着模型规模增长,这种差距会成为整个 AI 算力集群的核心瓶颈。
- 内存墙问题:单节点 GPU 的显存容量有限,单纯 HBM 的迭代节奏难以满足大模型因模型规模和序列长度而快速增长的显存需求。GPT-4 级别的模型需要数 TB 的显存,远超单节点 8 卡 GPU 的容量。
- 扩展效率递减:在 Scale-Out 域,算力利用率随节点规模的增长而衰减。
超节点通过”Scale-Up”架构创新地解决了这些问题:在机柜级别构建高速无损互联域,将数十甚至数百个 GPU 通过 NVLink/NVSwitch 直接互联,形成一个逻辑上的”超级 GPU”。这种架构转变不仅是技术参数的升级,更是 AI 基础设施设计理念的根本性变革。为了系统性地理解超节点硬件架构,我们需要从多芯片系统的互联层次出发,分析从微观到宏观的技术栈如何协同工作,最终支撑起大规模 AI 训练的需求。下图展示了从处理单元到集群的完整硬件构建蓝图,其中超节点最大的创新在于引入了”SuperPod”这一新层级,彻底改变了传统 AI 集群的互联拓扑。
block-beta
columns 4
PE0["PE"] space:2 PE1["PE"]
space:4
Die0["Die"] space:2 Die1["Die"]
space:4
Chip0["Chip"] space:2 Chip1["Chip"]
space:4
Node0["Node"] space:2 Node1["Node"]
space:4
Cluster0["Cluster"] space:2 Cluster1["Cluster"]
PE0<-- "NOC" -->PE1
Die0<-- "D2D" -->Die1
Chip0<-- "C2C" -->Chip1
Node0<-- "RDMA" -->Node1
Cluster0<-- "DCN" -->Cluster1
PE0-- "NOC" -->Die0
PE1-- "NOC" -->Die1
Die0-- "Chiplet" -->Chip0
Die1-- "Chiplet" -->Chip1
Chip0-- "PCIE" -->Node0
Chip1-- "PCIE" -->Node1
Node0-- "RDMA" -->Cluster0
Node1-- "RDMA" -->Cluster1
block-beta
columns 4
PE0["PE"] space:2 PE1["PE"]
space:4
Die0["Die"] space:2 Die1["Die"]
space:4
Chip0["Chip"] space:2 Chip1["Chip"]
space:4
Node0["Node"] space:2 Node1["Node"]
space:4
Pod0["SuperPod"] space:2 Pod1["SuperPod"]
space:4
Cluster0["Cluster"] space:2 Cluster1["Cluster"]
PE0<-- "NOC" -->PE1
Die0<-- "D2D" -->Die1
Chip0<-- "C2C" -->Chip1
Node0<-- "C2C" -->Node1
Pod0<-- "RDMA" -->Pod1
Cluster0<-- "DCN" -->Cluster1
PE0-- "NOC" -->Die0
PE1-- "NOC" -->Die1
Die0-- "Chiplet" -->Chip0
Die1-- "Chiplet" -->Chip1
Chip0-- "PCIE" -->Node0
Chip1-- "PCIE" -->Node1
Node0-- "C2C" -->Pod0
Node1-- "C2C" -->Pod1
Pod0-- "RDMA" -->Cluster0
Pod1-- "RDMA" -->Cluster1
现代 AI 超算系统的硬件架构遵循自底向上的层次化设计原则,每一层都通过特定的互联技术将计算单元组织成更大规模的计算资源。这种层次化设计不仅体现了硬件工程的物理约束,也反映了系统架构师从微观到宏观的资源组织思维:
- 层级 1 - 芯粒内部 (Die): 系统的最基本计算单元是 处理单元 (PE) ,例如 GPU 中的流式多处理器 (SM)。在单个硅片 (Die) 上,众多的 PE 通过 片上网络 (NoC) 高效互联。
- 层级 2 - 芯片 (Chip): 借助先进封装技术 (Chiplet),多个独立的 芯粒 (Die) 被封装在一起,构成一个完整的 芯片 (Chip) 。它们之间通过高速的 Die-to-Die (D2D) 接口(如 NV-HBI, UCIe)通信,使其在逻辑上表现得像一个单片大芯片。
- 层级 3 - 节点 (Node): 一个服务器 节点 (Node) 通常包含多个 芯片 (Chip)(如多块 GPU)和 CPU。节点内的 GPU 之间通过 芯片间互联 (C2C) 技术(如 NVLink + NVSwitch)构建高速通信域,而 GPU 与 CPU 之间则主要通过 PCIe 总线 连接。
- 层级 4 - 集群 (Cluster): 多个 节点 (Node) 组合成一个 集群 (Cluster)。节点之间的通信(Scale-Out)依赖于 数据中心网络 ,通常使用基于 RDMA 的 InfiniBand 或 RoCE 高速网络。
硬件互联技术 ¶
超节点的核心特征在于通过高速无损互联技术构建大规模计算域。其互联体系遵循从微观到宏观的层次化结构,从芯片内部的片上网络到集群级的数据中心网络,形成了完整的互联技术栈。典型的多芯片计算系统互联结构如下图所示:
芯片(Chip)通常由不同的芯粒(Die)组成,比如 CCD(Core Complex Die)和 IOD(I/O Die
不论是片上的NOC通信,还是D2D、C2C通信,都可以在逻辑上分为三层抽象:
- 物理层:负责定义互联的物理形态、连接拓扑与信号的电气特性(频率、电压等
) 。 - 链路层:负责定义数据如何进行高效可靠的传递,不负责理解数据的内容。
- 事务层:负责定义事务处理逻辑,比如读写请求、内存一致性等。
为了方便理解,我们通过一张表格描绘当前 NOC、D2D 和 C2C 三层通信在物理、链路和事务三层之上有哪些选择:
| 物理层 | 链路层 | 事务层 | |
|---|---|---|---|
| Die 内通信 | 自定义的金属走线 使用数字信号 |
NoC 网络 包含路由算法的定义 流控机制和数据包定义 |
片上总线协议,比如 AMBA AXI 和 AMBA CHI |
| Die 间通信 | - BoW (Bunch of Wires):OCP 定义的简化的 die-to-die 互连物理层协议 - UCIe PHY:UCIE 的物理层规范 - 私有规范,比如 AMD Infinity Fabric PHY, Intel AIB/Foveros PHY |
UCIe D2D Adapter: 负责链路训练、管理、CRC 校验、重传机制 私有实现: AMD/Intel 的私有链路管理逻辑 |
私有实现: AMD Infinity Fabric Protocol ( 支持一致性 ) UCIe Protocol Layer: 承载 PCIe, CXL, 和其他原生流协议 (Streaming) |
| 片间通信 | - CEI: OIF 制定的高速电气 I/O 规范,包含 25.6G/56G/112G 等多种规范 - PCIe PHY: 遵循或参考 CEI - NVLink PHY: NVIDIA 私有 SerDes 实现 - 以太网 PHY: 如以太网光 / 电模块 |
PCIe Link Layer: 流量控制、ACK/NAK、数据包排序 CXL.io Link Layer: 复用 PCIe 的链路层 NVLink Link Layer: NVIDIA 私有链路管理和流控 Ethernet MAC Layer / RoCE |
PCIe Transaction Layer: 内存读写 (RW)、配置、消息 CXL (.cache & .mem): 实现缓存一致性、内存扩展 NVLink Protocol: GPU 间 P2P 内存访问、原子操作 TCP/IP, RoCEv2: 基于以太网的应用层协议 |
电互联关键技术基础 ¶
基础物理单元:Lane 与 SerDes ¶
当前高速数字信号通信普遍采用串行通信技术。其基础物理单元是 Lane,一个 Lane 通常由两对差分信号线组成:一对用于发送(Tx
芯片内部的数据通常是并行的(如 64 位或 128 位
标准化接口:OIF-CEI 规范 ¶
为了确保不同厂商设备间的互联互通,光互联论坛(OIF)制定了通用电气接口(CEI)规范,对电气接口的物理形态、电压、频率以及信号调制方式等进行了标准化。例如,CEI-56G/112G/224G 等规范定义了单通道(per-lane)在 56Gbps、112Gbps、224Gbps 速率下的接口标准,其中广泛使用了 PAM4(4-Level Pulse Amplitude Modulation)等高级调制技术来提升数据速率。这些规范被 PCIe、CXL、NVLink 和以太网等主流互联协议广泛采纳或参考,作为其物理层设计的基础。
主流协议的 CEI 实现 ¶
PCIe 和 NVLink 作为两种主流的片间互联协议,其核心创新在于链路层与事务层,而在物理层则高度依赖成熟的电气标准。它们的物理层设计与 CEI 规范密切相关,通常会选择某个版本的 CEI 规范作为其 SerDes 设计的电气基础,从而在确保信号可靠性的前提下,专注于上层协议的优化。例如:
- PCIe: PCIe 5.0 的 32 GT/s 速率在电气特性上参考了 OIF CEI-28G 标准。而到了 PCIe 6.0,其 64 GT/s 的速率采用了 PAM4 调制技术,其电气特性与 OIF CEI-56G 系列标准的设计原则更为接近。
- NVLink: NVIDIA H100 GPU 使用的第四代 NVLink,其单 Lane 单向速率为 100 Gbps(采用 PAM4 调制,波特率为 50Gbaud
) ,这与 OIF CEI-56G-PAM4 标准的电气特性一致。未来的 NVLink 版本预计将继续跟进更高速率的 CEI-112G/224G 标准。
通过这种方式,PCIe 和 NVLink 等协议可以复用业界成熟的电气标准,专注于其上层协议的创新。因此,OIF-CEI 规范的演进路线图,也成为了预判整个互联技术发展的关键风向标。目前 CEI 规范的主要节点如下:
| 规范系列 | 发布年份 ( 约 ) | 单通道速率 (Gbps) | 调制方式 | 典型应用 / 参考协议 |
|---|---|---|---|---|
| CEI-28G | ~2011 | 28 | NRZ | 100G 以太网 (4x25G), PCIe 4.0/5.0, InfiniBand EDR |
| CEI-56G | ~2017 | 56 | PAM4 | 200G/400G 以太网 , PCIe 6.0, NVLink 4.0 (H100) |
| CEI-112G | ~2022 | 112 | PAM4 | 800G 以太网 , CXL 3.0, 下一代 NVLink |
| CEI-224G | - | 224 | PAM4 | 1.6T/3.2T 以太网 , 未来高速互联 |
注:NRZ (Non-Return-to-Zero) 每符号传输 1 bit 数据,PAM4 (Pulse Amplitude Modulation 4-level) 每符号传输 2 bit 数据,在相同波特率下可实现双倍数据速率。
OIF-CEI 规范通常 5-6 年更新一代,每次发布新版本时速率翻倍。但上文提到的时间为定稿时间,在定稿前行业内就会有较多的讨论和实现,因此不能完全以规范的时间来推测相关产品的面世时间。
电互联交换芯片的演进 ¶
交换芯片 (Switch ASIC) 是构建互联网络的核心,其交换容量和 SerDes 速率直接决定网络总带宽和端口密度。根据应用场景不同,主要分为数据中心网络交换芯片和 GPU 专用交换芯片两类。
数据中心网络交换芯片 ¶
以 Broadcom Tomahawk 系列为代表的数据中心交换芯片,其演进与 OIF-CEI 规范紧密相关:
| 交换容量 (Tbps) | SerDes 速率 ( 每 Lane) | CEI 代际对应 | 代表芯片 ( 发布年 ) | 可支持的典型 4-Lane 端口 ( 示例 ) |
|---|---|---|---|---|
| 3.2T | 25G NRZ | CEI-28G | Tomahawk (2014) | 32 x 100G (4x25G) |
| 6.4T | 25G NRZ | CEI-28G | Tomahawk 2 (2016) | 64 x 100G (4x25G) |
| 12.8T | 50G PAM4 | CEI-56G | Tomahawk 3 (2018) | 64 x 200G (4x50G) |
| 25.6T | 100G PAM4 | CEI-112G | Tomahawk 4 (2020) | 64 x 400G (4x100G) |
| 51.2T | 100G PAM4 | CEI-112G | Tomahawk 5 (2022) | 128 x 400G (4x100G) |
| 102.4T ( 预测 ) | 200G PAM4 | CEI-224G | 下一代 (≈2025+) | 128 x 800G (4x200G) 或 64 x 1.6T (8x200G, 非 4-Lane) |
注:上表中的“4-Lane 端口”指由 4 个 SerDes 通道组成的逻辑端口,在常见的国产 GPU 厂商中比较常见此种配置。例如,一个 100G 端口由 4x25G 组成,一个 400G 端口可由 4x100G 组成。随着 SerDes 速率翻倍,单芯片的总交换容量和端口速率也随之翻倍,这是网络技术演进的核心驱动力。
Broadcom 的高端交换芯片通常两年一代,交换容量翻倍。而从芯片产品面世到广泛被交换机使用,大约也需要 1-2 年时间。此外,从 Broadcom 芯片规格的发展也能看出,行业领先厂商对 CEI 标准的实现和落地通常会先于规范的正式定稿。
GPU 专用交换芯片:NVSwitch¶
NVSwitch 负责在单机或机柜域内构建 GPU 全互连(all-to-all / non-blocking)通信结构,其能力随 NVLink 代际一起提升。提升路径主要有两种:增加每 GPU 可用的 NVLink 数量(link fan-out)与提高单条 NVLink 的速率。下表采用 “GB/s ( 双向 )” 口径(NVIDIA 官方常用聚合带宽,等于 2 × 单方向带宽;1 GB/s ≈ 8 Gb/s
| 代际 | GPU 架构 | 发布(约) | NVLink 版本 | 每 Link Lane 数 | 每 Lane 速率 (Gbps) | 每 Link 双向带宽 (GB/s) | 每 GPU Link 数 | 每 GPU 聚合双向带宽 (GB/s) | 典型单机 / 底板 GPU 数 | 可扩展最大 NVLink 域(官方宣称) | 备注 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 第 1 代 | Volta | 2018 | 2.0 | 8* | 25† | 50† | 6† | 300† | 16† | 16† | 16‑GPU DGX‑2 NVSwitch 拓扑;Lane 数依据公开拆解 / 布线推测 [^nvswitch_volta] |
| 第 2 代 | Ampere | 2020 | 3.0 | 4* | 50† | 50† | 12† | 600† | 8† | 16† | HGX A100(8-GPU 板)官方聚合 600GB/s;Lane 数由 Link 速率与功耗折中推测 [^nvlink3] |
| 第 3 代 | Hopper | 2022 | 4.0 | 4* | 100† | 100† | 18† | 1800† | 8† | 256† | NVLink 4.0 单 GPU 900GB/s( 单向 450)→双向 1800;最大 NVL256 由官方架构介绍 [^nvlink4] 11 |
| 第 4 代 | Blackwell | 2025 | 5.0 | 4* | 200† | 200† | 18† | 3600† | 72† | 576* | NVLink 5.0 进 Keynote 公布速率;NVL72 / 576 为 GTC 公布 + 对 NVLink Fabric 分层规模推测 [^nvlink5] 2 |
说明:
- “每 Link 双向带宽”遵循 NVIDIA 常用口径(聚合双向
) 。 - Lane 数由于官方文档通常未直接公布,表中以 * 标示;其值通过已知总带宽、单 Lane 速率与历代封装约束反向推断。如未来出现官方差异数据,应以官方为准。
- “最大 NVLink 域”指官方在对应代际提及的(或 Keynote 展示的)最大可支持互联规模;Blackwell 576 带 * 为推测(推断自 72×GB200 NVL72 单元 × 互联分层聚合
) 。 - Volta 时代 NVLink 2.0 在 NVSwitch 中实现的 Fan-out、Lane 数量公开资料缺少直接原始表格,使用多来源拆解 / 演讲交叉验证。
互联拓扑 ¶
互联拓扑定义了计算节点(或 GPU)间的物理连接方式与逻辑结构,它直接决定了整个系统的通信性能,包括带宽、延迟、扩展性和成本。在超节点架构中,选择合适的拓扑是构建高效、无阻塞通信域的基石。当前主流技术路径为电子分组交换(Electronic Packet Switching,EPS
Full Mesh(全互联) ,或称全连接(All-to-All
block-beta
columns 7
space:2 N0 space N1 space:2
space:7
N7 space:5 N2
space:7
N6 space:5 N3
space:7
space:2 N5 space N4
N0 --- N1
N0 --- N2
N0 --- N3
N0 --- N4
N0 --- N5
N0 --- N6
N0 --- N7
N1 --- N2
N1 --- N3
N1 --- N4
N1 --- N5
N1 --- N6
N1 --- N7
N2 --- N3
N2 --- N4
N2 --- N5
N2 --- N6
N2 --- N7
N3 --- N4
N3 --- N5
N3 --- N6
N3 --- N7
N4 --- N5
N4 --- N6
N4 --- N7
N5 --- N6
N5 --- N7
N6 --- N7
为了能够定量比较不同的互联拓扑,需要引入一些关键指标:
- 网络直径(Network Diameter):指网络中任意两个节点间的最短路径长度,刻画了最坏情况下的通信延迟。Full Mesh 拓扑中任意两个节点直接连接,因此 网络直径为 1 。在 Fat-Tree 拓扑中,任意两个节点间的通信最多只需经过“上行 - 下行”三跳(Leaf-Spine-Leaf
) ,因此 网络直径为 3 。 - 二分带宽(Bisection Bandwidth):指当网络被切成两半时,连接这两半部分的总通信能力。它反映了网络在最坏通信场景下的最大数据传输能力。在 Full Mesh 拓扑中,一半网络有 \(N/2\) 个节点,每个节点有 \(N/2\) 条链路连接到另一半网络,因此 Full Mesh 拓扑的二分带宽为 \(\dfrac{N}{2} \times \dfrac{N}{2} \times B = \dfrac{N^2}{4} B\) 。在 Fat-Tree 拓扑下,一半网络有 \(N/2\) 个节点,每个节点都能与另一半网络全速率通信,因此 Fat-Tree 拓扑的二分带宽为 \(\dfrac{N}{2} B\)。
- 径向扩展度(Radix Scalability):指在给定交换芯片 radix 条件下的最大无阻塞集群规模 \(N_{max}\) 。它衡量了在给定交换芯片端口数(R_switch)和终端设备接口数(R_dev)的条件下,一个拓扑理论上能构建的最大无阻塞集群规模。Full Mesh 拓扑下,互联规模 \(N_{max} = R_{dev} + 1\) ,Fat-Tree 拓扑下 \(N_{max} = R_{switch}^2 / 2 / R_{dev}\) 。
接下来介绍构建 Scale-Up 域用的拓扑结构。
Fat-Tree(胖树) 拓扑是当前构建大规模、高性能计算和 AI 集群最主流的架构。它是一种分层的网络结构,其核心设计思想是:从网络边缘(终端节点)向核心(根方向)上行时,链路带宽逐级增加,确保任意两个节点间的通信都拥有充足的带宽资源,从而实现或逼近“无阻塞”通信。典型的胖树网络由“叶交换机”(Leaf Switches)和“脊交换机”(Spine Switches)组成。计算节点直接连接到叶交换机,每个叶交换机又与所有脊交换机相连。这种结构保证了任意两个不同叶交换机下的节点通信最多只需经过“上行 - 下行”三跳(Leaf-Spine-Leaf
- 高带宽与无阻塞:通过精心设计上行与下行链路的带宽比例(收敛比
) ,胖树网络可以为 All-to-All 等复杂通信模式提供接近线速的聚合带宽。 - 良好的扩展性:可以通过增加 Spine 交换机或增加网络层级来平滑地扩展集群规模。
- 高容错性:任意一条链路或交换机故障,流量可以被重新路由到其他路径,不会导致单点失效。
NVIDIA 的 DGX SuperPOD 架构本质上就是一个精心设计的两级 Fat-Tree 网络。
- 第一级:在单个节点内部,多颗 NVSwitch 芯片构建了一个单级的、逻辑上完全无阻塞的全互联网络(Full Mesh
) ,将域内所有 GPU 全互联起来。 - 第二级: 第一级的 NVSwitch 再通过第二级的 NVSwitch 进行互联,形成一个 32 卡的 Scale-Up 通信域。
Dragonfly 拓扑5 是一种为超大规模计算设计的、旨在降低网络直径和成本的拓扑结构。它将路由器(交换机)和与之相连的计算节点组织成“组”(Group
- 低网络直径:任意两个节点间的通信路径非常短,通常最多只需一跳组内路由和一跳全局路由。
- 成本效益:相比于同等规模的全连接胖树,Dragonfly 所需的全局链路和交换机端口更少,成本更低。
Dragonfly 的挑战在于,全局链路相对稀疏,就像一个城市的主干道有限。如果路由策略不佳,所有流量都涌向少数几条主干道,就会造成严重的拥堵。因此,它必须依赖智能的、能感知全局负载的路由算法,动态地为数据包规划‘行车路线’,才能发挥其低延迟和成本优势。
Torus 拓扑6 是一种规则的格状拓扑,在多维(如 2D、3D、6D)网格的每个维度上都带有“环绕式”连接。每个节点都与其在各个维度上的“邻居”直接相连。Torus 拓扑具备如下特点:
- 优异的局部性:非常适合具有邻近通信模式的科学计算应用(如气象模拟、流体力学
) ,因为相邻节点间通信延迟极低。 - 二分带宽较低:将其切成两半时,横跨切面的链路数量相对较少,这意味着其全局 All-to-All 通信性能不如胖树。
- 扩展性受限:高维 Torus 布线复杂,扩展成本高。
SlimFly 拓扑 7:作为 Dragonfly 的演进,SlimFly 是一种在给定交换机端口数下,能够以更少的网络直径和接近最优的二分带宽连接更多节点的拓扑结构。它在理论上被证明是构建超大规模网络最高效的拓扑之一,但其不规则的连接方式对物理布线和路由算法设计提出了极高挑战,目前更多处于学术研究和前沿探索阶段。
对于以 All-to-All 和 All-Reduce 为主导通信模式的 AI 大模型训练而言,胖树拓扑因其优越的全局带宽特性与确定的网络直径而成为事实上的标准选择。但另一方面,Fat-Tree 所能达到的互联规模也受限于交换机容量。在超节点继续演进的过程中,对互联拓扑的探索也尤为重要:
| 拓扑 | 径向扩展度 | 网络直径 | 二分带宽 |
|---|---|---|---|
| Full Mesh | \(R_{dev} + 1\) | 1 | \(\dfrac{N^2}{4} B\) |
| Fat-Tree | \(\dfrac{R_{switch}^2}{2 R_{dev}}\) | 3 | \(\dfrac{N}{2} B\) |
| Dragonfly | \(\dfrac{R_{switch}^4}{81 R_{dev}}\) | \(\le 3\) | \(\approx \dfrac{N}{2}B\) |
| Torus | 无上界 | \(D \cdot \dfrac{k}{2}\) | |
| Slim Fly | \(\dfrac{32}{243} \times \dfrac{R_{switch}^3}{R_{dev}}\) | 2–3 | 设计为接近满二分带宽 |
软件系统 ¶
软件系统架构的根本决定因素是内存模型。传统操作系统内核围绕 CPU 访存权限进行设计,通过虚拟内存管理、页表机制和 TLB 等组件构建了现代计算的基础。同样,PCIe 引入的 MMIO(Memory Mapped I/O)机制决定了内核驱动的编程范式,设备寄存器被映射到统一的地址空间,通过内存访问指令进行控制。
超节点的出现从根本上改变了这一范式。通过 NVLink/NVSwitch 等高速互联技术构建的 HBD(High Bandwidth Domain)通信域,使得远程 GPU 显存能够以接近本地访问的性能被直接访问。为了实现高效通信,HBD 域上正在构建一个能 绕过(Bypass)CPU 和操作系统内核 的、由 GPU 主导的通信架构。在这个新架构下,访存的控制权发生了转移:
- 从 CPU 中心到 GPU 中心:跨 GPU 的内存访问不再需要 CPU 作为中介,而是由 GPU 的 MMU(内存管理单元)直接发起,由硬件(如 NVSwitch)进行路由。
- 从内核态仲裁到用户态直通:上层应用(如 CUDA Kernel)通过统一虚拟地址(UVA)操作远程数据,其地址翻译和路由完全在硬件层面透明完成,内核仅在初始设置和资源管理时介入。
为了更好地理解超节点带来的这一变革,接下来从 GPU 访存体系入手来分析软件系统的演进路径。
现代 GPU 访存体系 ¶
NVIDIA 超节点在软件系统架构上与其 单个节点内部 的 GPU 访存体系一脉相承,均围绕 UVA(Unified Virtual Addressing) 技术构建。与传统 CPU 类似,现代 GPU 也配备了完整的内存管理单元(MMU
- 发现与连接建立:系统中的 GPU 通过物理总线(如 NVLink 或 PCIe)互相发现,建立对等连接并分配唯一的 Peer ID。
graph LR
A[GPU-A] ---|NVLINK/PCIe| B[GPU-B]
A --> C[发现 Peer GPU]
B --> D[建立 Peer 连接]
C --> E[分配 Peer ID]
D --> E
- Aperture 选择与地址映射 :驱动程序分配 UVA 地址,并根据连接类型选择不同的 Aperture 通道:
- 本地显存 (VID Memory) :同一 GPU 内的内存访问
- 对等内存 (Peer Memory) :通过 NVLink 直接访问远程 GPU 显存
- 系统内存 (SYS Memory) :通过 PCIe 访问 CPU 主存
- Fabric 内存 :在 NVSwitch 环境下的专用地址空间 - 硬件透明的远程访存 :当 CUDA Kernel 访问虚拟地址时,GPU MMU 自动完成地址翻译和路由。硬件 MMU 通常提供 4-5 级页表,支持 4K-128K 页大小。考虑到 MMU 页表中的地址可能并非全部是内存地址,也包含部分 IO 地址。因此 GPU MMU 的表项也会标识是否支持缓存一致性。
以下是 GPU 上访问 UVA 地址的流程:
sequenceDiagram
participant App as 应用程序<br>(CUDA Kernel)
participant LocalMMU as 本地GPU MMU
participant Interconnect as NVLink/NVSwitch
participant RemoteGPU as 远程GPU
App->>LocalMMU: 1. 访问虚拟地址 0x1000
activate LocalMMU
LocalMMU-->>LocalMMU: 2. 查页表, 发现PTE指向Peer
LocalMMU->>Interconnect: 3. 发起硬件路由请求
deactivate LocalMMU
activate Interconnect
Interconnect->>RemoteGPU: 4. 转发内存访问请求
deactivate Interconnect
activate RemoteGPU
RemoteGPU-->>RemoteGPU: 5. 访问本地物理显存
Note right of RemoteGPU: 数据被读取/写入
RemoteGPU-->>App: 6. (经由硬件)返回结果
deactivate RemoteGPUUVA在节点内实现的编程透明性与硬件高效性,为构建更大规模、跨节点的统一地址空间奠定了范式基础。随着硬件演进,软件侧的地址模型与编程范式也在逐步向CPU成熟的体系靠拢。总体趋势是:CPU与OS内核正从“关键数据路径”中解放出来,转而扮演“控制平面”的角色,通过配置虚拟地址与MMU来管理访存与通信,而非直接参与每一次操作。
超节点访存体系 ¶
传统的 UVA 和 PCIe P2P 机制的边界仅限于单个 PCIe 根联合体(Root Complex
- 主存、设备的控制寄存器和设备内置存储(比如显存)都会通过 PCIE RC 映射到一个统一的 MMIO 地址空间(Memory Mapped I/O
) ; - 在内核态,设备驱动通过 MMIO 地址操作设备寄存器,从而实现对设备的初始化、控制与中断处理;
- 在用户态,可以直接将设备的存储映射到用户态地址空间,从而实现用户态对设备的直接读写,让数据路径 by pass 内核。GPU Direct RDMA 技术即将部分显存映射到用户态,再交给 RDMA 网卡去访问。RDMA 网卡的 doorbell 寄存器(用于通知网卡有工作需要处理)也可以通过这种映射交给 GPU 去访问,从而实现 IBGDA(GPU 异步 RDMA 数据发送
) ;
在传统的基于 PC 的 AI 算力服务器上,上述软件技术架构已成为事实标准。然而,在超节点中,上述访存体系面临本质缺陷:PCIe 通信域无法纳管其他节点的设备,因此也无法提供跨节点的统一访存地址空间。
超节点通过 NVSwitch Fabric 等技术,将“节点内”的 P2P 模型扩展至整个机柜乃至多个机柜。其关键在于引入了一个由 Fabric Manager 管理的 8 47-bit 的 全局物理地址空间 :
- 全局地址分配:Fabric Manager 为 HBD 域内的每个 GPU 分配一个唯一的、在全局范围内无冲突的物理地址(PA)范围。
- VA 到全局 PA 的映射:当一个 GPU 需要访问远程 GPU 时,其驱动程序不再映射到对端的 PCIe BAR 地址,而是将用户态的虚拟地址(VA)通过页表(PTE)映射到这个全局物理地址(PA
) 。 - 硬件路由:当 GPU 的 MMU 翻译 VA 并得到这个全局 PA 时,它会生成一个带有目标 GPU ID 的硬件请求。该请求被发送到 NVSwitch 网络,由交换芯片根据地址和 ID,像路由器转发 IP 包一样,精准地将读写操作路由到目标 GPU 的物理显存上。
软件编程模型 ¶
超节点的硬件发展催生了软件编程模型的演进。当前主流的 SPMD 范式正面临挑战,而以 PGAS 为代表的新范式则为解决这些挑战提供了清晰的路径。
主流范式及其瓶颈:SPMD 与 BSP ¶
当前几乎所有大规模 AI 训练都构建于 SPMD (Single Program, Multiple Data) 模型之上。所有 GPU 运行相同程序,处理不同数据分片,并通过NCCL等库进行高效的集合通信。
其成功源于其遵循了 BSP (Bulk Synchronous Parallel, 块同步并行 ) 的计算范式。BSP 将并行计算清晰地分为三个阶段:1) 本地计算,2) 全局通信,3) 同步屏障 (Barrier)。所有 GPU 必须在屏障处等待,直到最慢的那个 GPU 完成后,才能一起进入下一阶段。
这种严格的同步正是其最大的弱点。在大规模集群中
- 硬件层面:微小的时钟频率差异、功耗墙限制、网络瞬时拥塞。
- 软件层面:操作系统后台进程的干扰 (Jitter)。
- 数据层面:这在现代 AI 负载中愈发关键。例如,在 MoE 模型 中,不同的数据(Token)会被路由到不同的专家,导致专家负载不均;在 强化学习 或 长序列推理 中,输出序列长度不定,导致各 GPU 计算时间不同。
在这些场景下,BSP 的同步屏障会导致大量 GPU 处于空闲等待状态,极大地降低了计算效率。正是为了解决这一根本性矛盾,业界开始转向更为灵活的编程模型。
PGAS 与混合编程 ¶
PGAS (Partitioned Global Address Space) 是解决上述瓶颈的未来方向之一。它通过 单边通信 (One-Sided Communication) ,从根本上改变了数据交换的模式。
| 特性 | SPMD + 集合通信 (NCCL) | PGAS + 单边通信 (NVSHMEM) |
|---|---|---|
| 通信模型 | 双边 (Two-Sided):Send与Recv需配对,依赖集体同步。 |
单边 (One-Sided):Put/ Get无需对方协同,可异步执行。 |
| 编程抽象 | 通信是集体操作:AllReduce(data) |
通信如内存访问:put(&dest, &src, size) |
| 适用负载 | 静态、均匀 ( 如稠密模型训练 ) | 动态、非均匀 ( 如 MoE, 推理 ) |
在 PGAS 模型中,整个分布式系统由众多 PE(Processing Elements)组成。为了实现 SHMEM 语义,对每个 PE 的地址空间进行如下划分 9:
- 每个 PE 都有自己独立的地址空间,这能够映射到不同节点的不同进程中去;
- 进程的内存地址空间分为两部分:
- Private 地址空间,这部分为进程私有,可以被进程随意使用;
- Symmetric 地址空间,这部分为远程可访问的地址空间,所有进程保持一致;
进程可以通过 PE 的 rank 与 Symmetric Address 来读写其他 PE 的内存,从而实现单边通信。这种单边通信能较好解决“慢节点”问题:它将 同步的“通信握手” 变成了 异步的“内存操作” 。在双边通信中,一个“快节点”的Send操作必须等待“慢节点”准备好Recv,从而被强制阻塞。而在单边通信中Put操作直接将数据写入“慢节点”的内存,然后立即返回执行后续任务。数据写入后



