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 的显存)。
光有 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 当成一颗用的物理基础。
把 NVLink 和 NVSwitch 放到一起,就得到了 NVL72 的核心架构——72 颗 GPU 通过多颗 NVSwitch 互联,形成一个共享地址空间的单一内存域。
这里的"72"指的是参与 NVLink 全互联的 GPU 数量。在这个机柜内,每颗 GPU 都可以通过 NVSwitch 访问任意其他 GPU 的显存,由硬件保证数据一致性。从软件视角看,整个机柜就像有一颗"超大显存"的虚拟 GPU,程序员不需要手动管理数据在哪些 GPU 上。
NVL72 的工程实现有两个值得强调的细节:
NVL72 单一内存域(概念): ┌──── GPU 1 ────┐ │ 显存 │ ─┐ ├──── GPU 2 ────┤ │ │ 显存 │ │ NVSwitch 阵列 ├──── ... ───────┤ ├─► 无阻塞全互联 ◄─┐ ├──── GPU 72 ───┤ │ │ │ 显存 │ ─┘ │ └───────────────┘ │ │ 对软件呈现:单一统一地址空间 ◄──┘ 任意 GPU 可直接访问任意其他 GPU 显存 硬件保证一致性
💡 单一内存域的代价:它带来了极大的编程便利和机柜级紧耦合,但代价是物理上必须把 72 颗 GPU 和 NVSwitch 焊在一个机柜里、用铜背板连接。这个"焊死"的代价(成本、重量、可维护性、功耗散热)非常高,这也是为什么 NVL72 是整机柜级产品而不是可任意拼装的普通服务器。
把 NVLink/NVSwitch 放回 NVIDIA 的整体战略,它的意义就清晰了:它是 NVIDIA 把"机柜"这个物理单元变成"一颗逻辑大 GPU"的关键,也是其相对竞争对手的核心护城河之一。
竞争对手(包括昇腾)即使做出单卡算力相当的芯片,也难以在短期内复制 NVSwitch 这种"大规模无阻塞全互联"的能力——因为它需要长期的高速互联协议积累、交换芯片设计能力和系统级工程经验。这就是为什么 NVIDIA 在机柜内互联这个维度上长期领先。
下一节我们看昇腾的 HCCS 走了一条什么样的不同路线。
本节关键词:NVLink、NVSwitch、无阻塞全互联、单一内存域、铜背板、NVL72 返回:第 4 章支柱页 下一节:4.3 昇腾950 的 HCCS 片间互联