Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

GPU 后端交换矩阵

GPU 后端交换矩阵使用 RDMA over Converged Ethernet (RoCEv2) 为 GPU 提供基础架构,以便在群集内相互通信。ROCEv2 使 GPU 能够像使用 InfiniBand 协议一样进行通信,从而提高数据中心效率,降低整体复杂性,并提高数据传输性能。

丢包会影响工作完成时间,应避免丢包。因此,在设计网络基础设施以支持 AI 群集的 RoCEv2 时,关键目标之一是提供无损交换矩阵,同时还要为 AI 流量实现最大吞吐量、最小延迟和最小网络干扰。ROCEv2 在无损网络上效率更高,从而尽可能缩短工作完成时间。

此 JVD 中的 GPU 后端交换矩阵在设计时充分考虑到了这些目标,并遵循 3 级 IP clos 架构与 NVIDIA 的轨道优化条带架构 相结合(下一节将讨论),如图 5 所示。

图 5:GPU 后端交换矩阵架构

下表总结了此交换矩阵中包含的 GPU 后端 设备以及它们之间的连接:

表 3:每个群集和条带的 GPU 后端设备数

群集 条纹 Nvidia DGX GPU 服务器

GPU 后端叶节点交换机型号

(GPU-后端-叶式#)

GPU 后端主干节点交换机型号

(GPU-后端-主干#)

1 1 A100-01 A100-04 QFX5230-64CD x 8

QFX5230-64CD x 2

PTX10008 带

JNP10K-LC1201

1 2 A100-05 A100-08 QFX5220-32CD x 8
2 1 H100-01 H100-02 QFX5240-64OD x 8 QFX5230-64OD x 4
2 2 H100-03 H100-04 QFX5240-64OD x 8

表 4:GPU 后端中每个群集和条带的服务器、叶节点和主干节点之间的连接

群集 条纹

GPU 服务器 <=>

GPU 后端叶节点

GPU 后端主干节点 <=>

GPU 后端叶节点

1 1

1 个 200GE 链路

在每台 A100 服务器和每个叶节点之间(每台服务器 200GE x 8 个链路)

2 个 400GE 链路

在每个叶节点和每个主干节点之间(每个叶节点 2 个 400GE x 2 个链路)

1 2

1 个 200GE 链路

在每台 A100 服务器和每个叶节点之间(每台服务器 200GE x 8 个链路)

2 个 400GE 链路

在每个叶节点和每个主干节点之间(每个叶节点 2 个 400GE x 2 个链路)

2 1

1 个 400GE 链路

在每台 H100 服务器和每个叶节点之间(每台服务器 400GE x 8 个链路)

2 个 400GE 链路

在每个叶节点和每个主干节点之间(每个叶节点 2 个 400GE x 4 个链路)

2 2

1 个 400GE 链路

在每台 H100 服务器和每个叶节点之间(每台服务器 400GE x 8 个链路)

2 个 400GE 链路

在每个叶节点和每个主干节点之间(每个叶节点 2 个 400GE x 4 个链路)

  • 实验室中的所有 Nvidia A100 服务器使用 200GE 接口连接到 群集 1 中的 QFX5220 和 QFX5230 个叶节点,而 H100 服务器则使用 400GE 接口连接到 群集 2 中的QFX5240叶节点。
  • 此交换矩阵是纯 L3 IP 交换矩阵(IPv4 或 IPV6),使用 EBGP 进行路由播发(在“网络”部分中介绍)。
  • 服务器和叶节点之间的连接基于 L2 VLAN,叶节点上的 IRB 充当服务器的默认网关(在网络部分中介绍)。
GPU 服务器和叶节点之间以及叶节点和主干节点之间的链路速度和数量决定了超额订阅因素。例如,考虑实验室中可用的 GPU 服务器数量,以及它们如何连接到 GPU 后端交换矩阵,如上所述。

表 5:每个群集、每个条带服务器到叶的带宽

每个条带的服务器到叶带宽(每个群集)
群集 AI 系统(服务器类型) 每条带的服务器数 服务器 <=每台服务器 > 个叶链路数 服务器带宽 <=> 个叶链路 [Gbps]

总带宽

服务器 <=每条带 > 分叶数 [Tbps}

1 A100 4 8 200 4 x 8 x 200/1000 = 6.4
2 H100 2 8 400 2 x 8 x 400/1000 = 6.4

表 6:每个群集、每个条带的叶脊带宽

每个条带的叶到主干带宽
叶 <=每个主干节点和每个条带的主干链路数>

速度

叶式 <=> 主干链路

[Gbps]

主干节点数量

总带宽

分叶 <=每条带 > 个主干

[Tbps]

8 2 个 400 2 12.8

(超额)认购率是通过比较上两个表格中的数字来简单计算的:

在群集 1 中,服务器和叶节点之间的带宽为每个条带 6.4 Tbps,而叶节点和主干节点之间的可用带宽为每个条带 12.8 Tbps。这意味着即使该流量是 100% 条带间流量,交换矩阵也有足够的容量来处理 GPU 之间的所有流量,同时仍有额外的容量来容纳其他服务器,而不会出现超额订阅。

图 6:额外容量示例

我们还测试了将 A100 服务器上的 H100 GPU 服务器连接到集群 1 中的条带,如下所示:

图 7: 1:1 订阅示例

表 7:每个群集、每个条带的服务器到叶带宽,所有服务器连接到同一群集

每个条带的服务器到叶带宽
群集 Al Systems 每条带的服务器数 服务器 <=每台服务器 > 个叶链路数

服务器 <=> 叶链路带宽

[Gbps]

服务器总数 <=> 个叶链路

每条带的带宽

[Tbps]

1 A100 4 8 200 4 x 8 x 200/1000 = 6.4
H100 2 8 400 2 x 8 x 400/1000 = 6.4
  服务器 < 的总带宽 = > 个叶链路 12.8

服务器和叶节点之间的带宽现在为每个条带 12.8 Tbps,而叶节点和主干节点之间的可用带宽也是每个条带 12.8 Tbps(如上表所示)。这意味着即使该流量是 100% 条间流量,交换矩阵也有足够的容量来处理 GPU 之间的所有流量,但现在没有额外的容量来容纳额外的服务器。本例中的订阅系数为 1:1(无订阅)。

为了运行超额订阅测试,我们禁用了叶和主干之间的某些接口以减少可用带宽,如图 8 中的示例所示:

图 8:2:1 超额订阅示例

每个条带的服务器到叶链路总带宽没有更改。它仍然是 12.8 Tbps,如上一个方案中的表 3 所示。

但是,叶节点和主干节点之间的可用带宽现在每个条带仅为 6.4 Tbps。

表 8:每条带叶脊的带宽

每个条带的叶到主干带宽
叶 <=每个主干节点和每个条带的主干链路数>

速度

叶式 <=> 主干链路

[Gbps]

主干节点数量

总带宽

分叶 <=每条带 > 个主干

[Tbps]

8 1 x 400 2 6.4

这意味着交换矩阵不再有足够的容量来处理 GPU 之间的所有流量,即使这些流量 100% 是条带间流量,也可能导致拥塞和流量丢失。本例中的超额预订系数为 2:1。