4.2 NVL72 的 NVLink/NVSwitch 与铜背板


文档摘要

4.2 NVL72 的 NVLink/NVSwitch 与铜背板 如果说 NVLink 是 NVIDIA 把多颗 GPU 焊在一起的"高速胶水",那 NVSwitch 就是让这团胶水变成"无阻塞网络"的交换核心,铜背板则是承载这一切的物理骨架。 4.2.1 NVLink:GPU 之间的专用高速链路 NVLink 是 NVIDIA 自研的 GPU 间高速点对点互联协议。它的设计目标只有一个——在 GPU 之间提供远超 PCIe(传统服务器内部总线)的带宽。PCIe 是为通用外设设计的,带宽有限、协议开销大;NVLink 则专门为 GPU 间的大数据量、低延迟通信优化,带宽通常是同代 PCIe 的数倍。 每一代 NVLink 都在持续提升单链路带宽和单 GPU 可挂载的链路数。

如果说 NVLink 是 NVIDIA 把多颗 GPU 焊在一起的"高速胶水",那 NVSwitch 就是让这团胶水变成"无阻塞网络"的交换核心,铜背板则是承载这一切的物理骨架。

NVLink 是 NVIDIA 自研的 GPU 间高速点对点互联协议。它的设计目标只有一个——在 GPU 之间提供远超 PCIe(传统服务器内部总线)的带宽。PCIe 是为通用外设设计的,带宽有限、协议开销大;NVLink 则专门为 GPU 间的大数据量、低延迟通信优化,带宽通常是同代 PCIe 的数倍。

每一代 NVLink 都在持续提升单链路带宽和单 GPU 可挂载的链路数。一颗现代 NVIDIA GPU 可以同时拥有多条 NVLink 链路,分别连到不同的伙伴 GPU。这就构成了 GPU 间互联的物理基础。

NVLink vs PCIe(示意主线): 带宽 ▲ │ ┌── NVLink(每代持续提升,多链路聚合) │ ╱ │╱ ├── PCIe(演进缓慢,通用总线) └──────────────────────► 时间

💡 NVLink 的本质:它不是"更快的 PCIe",而是一种全新的、为 GPU 间通信量身定制的协议。它跳过了通用总线的那套开销,直接在 GPU 之间建立高速数据通路,甚至支持 GPU 间的内存直接访问(即一台 GPU 可以直接读写另一台 GPU 的显存)。

4.2.2 NVSwitch:从"部分互联"到"无阻塞全互联"

光有 NVLink 还不够。一个直接的问题——如果每颗 GPU 只有一定数量的 NVLink 端口,当 GPU 数量很多时,每颗 GPU 没法直接连到所有其他 GPU(端口不够分)。这就只能做到"部分互联":每颗 GPU 只和一部分邻居直连,访问其他 GPU 要中转,带宽和延迟都会打折。

NVSwitch 就是为解决这个问题而生的。 它是一种专用交换芯片,专门用于连接 NVLink 链路。把所有 GPU 的 NVLink 都接到一组 NVSwitch 上,由 NVSwitch 在内部完成任意两点间的交换,就能在逻辑上实现"任意两颗 GPU 之间都有专用通路"——这就是"无阻塞全互联"。

没有 NVSwitch(部分互联): GPU1 ── GPU2 │ ╲ ╱ │ 每颗 GPU 端口有限 │ ╲ │ 只能连一部分邻居 GPU3 ── GPU4 访问非邻居要中转 有 NVSwitch(无阻塞全互联): GPU1 ──┐ GPU2 ──┼──► NVSwitch ◄──┬── GPU3 GPU4 ──┘ (交换) └── ... 任意两点直连,无阻塞

⚠️ "无阻塞"的含义:这里的无阻塞指的是"任意两点之间的通信不会因为其他通信而受阻"。NVSwitch 内部有足够多的交换容量,保证所有 GPU 同时通信时也不会互相挤占。这是 NVL72 能把 72 颗 GPU 当成一颗用的物理基础。

4.2.3 NVL72:72 颗 GPU 的单一内存域

把 NVLink 和 NVSwitch 放到一起,就得到了 NVL72 的核心架构——72 颗 GPU 通过多颗 NVSwitch 互联,形成一个共享地址空间的单一内存域

这里的"72"指的是参与 NVLink 全互联的 GPU 数量。在这个机柜内,每颗 GPU 都可以通过 NVSwitch 访问任意其他 GPU 的显存,由硬件保证数据一致性。从软件视角看,整个机柜就像有一颗"超大显存"的虚拟 GPU,程序员不需要手动管理数据在哪些 GPU 上。

NVL72 的工程实现有两个值得强调的细节:

  • 多颗 NVSwitch 并联:单颗 NVSwitch 的端口数有限,要支持 72 颗 GPU 的全互联,需要多颗 NVSwitch 组成交换阵列,分摊链路。这增加了布线和供电的复杂度。
  • 铜背板承载物理连接:72 颗 GPU 和多颗 NVSwitch 之间有海量铜线连接,这些连接不是散乱走线,而是集成在一块巨大的铜背板上。铜背板是 NVL72 物理上的"骨架",它的工程难度极高(重量、信号完整性、可制造性),详见第 9 章。
NVL72 单一内存域(概念): ┌──── GPU 1 ────┐ │ 显存 │ ─┐ ├──── GPU 2 ────┤ │ │ 显存 │ │ NVSwitch 阵列 ├──── ... ───────┤ ├─► 无阻塞全互联 ◄─┐ ├──── GPU 72 ───┤ │ │ │ 显存 │ ─┘ │ └───────────────┘ │ │ 对软件呈现:单一统一地址空间 ◄──┘ 任意 GPU 可直接访问任意其他 GPU 显存 硬件保证一致性

💡 单一内存域的代价:它带来了极大的编程便利和机柜级紧耦合,但代价是物理上必须把 72 颗 GPU 和 NVSwitch 焊在一个机柜里、用铜背板连接。这个"焊死"的代价(成本、重量、可维护性、功耗散热)非常高,这也是为什么 NVL72 是整机柜级产品而不是可任意拼装的普通服务器。

把 NVLink/NVSwitch 放回 NVIDIA 的整体战略,它的意义就清晰了:它是 NVIDIA 把"机柜"这个物理单元变成"一颗逻辑大 GPU"的关键,也是其相对竞争对手的核心护城河之一。

竞争对手(包括昇腾)即使做出单卡算力相当的芯片,也难以在短期内复制 NVSwitch 这种"大规模无阻塞全互联"的能力——因为它需要长期的高速互联协议积累、交换芯片设计能力和系统级工程经验。这就是为什么 NVIDIA 在机柜内互联这个维度上长期领先。

下一节我们看昇腾的 HCCS 走了一条什么样的不同路线。

思考与延伸

  1. NVSwitch 实现了无阻塞全互联,但随着 GPU 数量增加,NVSwitch 阵列的复杂度和成本如何增长?这种增长是线性的还是超线性的?
  2. 单一内存域让编程变简单,但它要求所有 GPU 在一个机柜里"焊死"。这种紧耦合对系统的可扩展性(要扩到更多机柜)有什么限制?第 5 章会如何处理这个限制?
  3. 铜背板是 NVL72 的物理骨架,但铜有传输距离限制。为什么 NVL72 仍然用铜而不是用光?铜的优势在哪里?(提示:与第 9 章光模块成本有关)

本节关键词:NVLink、NVSwitch、无阻塞全互联、单一内存域、铜背板、NVL72 返回:第 4 章支柱页 下一节:4.3 昇腾950 的 HCCS 片间互联


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U