数据中心/云端

利用 MLAG 最大限度地提高 AI 以太网结构性能

 

对于专门为人工智能训练而构建的 HPC 集群,例如 NVIDIA DGX BasePODNVIDIA DGX SuperPOD,微调集群对于提高和优化整体性能至关重要,包括调整以太网结构、存储结构和计算结构的性能。

本文讨论了如何最大限度地提高以太网结构的整体吞吐量,通过使用Multi-Chassis Link Aggregation(MLAG),可在NVIDIA Cumulus Linux上实现。MLAG 使两个独立的交换机能够向下游主机通告相同的 LACP 系统 ID,因此,下游主机会认为它们连接到单个 LACP 伙伴。

使用 MLAG 的一个好处是物理交换机级冗余。如果两个上行链路交换机中的任何一个发生故障,则下游主机流量将不会受到影响。第二个好处是聚合债券的上行链可以同时使用。最后, MLAG 技术使用诸如 VRR / VRRP 之类的技术提供网关级冗余。

带 LACP 的积存 MLAG

为了最大限度地提高集群中每个 DGX /计算节点的整体以太网性能,建议在 LACP ( 802.1ad )模式下配置绑定上行链路。 LACP ( 802.1ad )绑定模式使得两个上行链路能够同时使用。使用其他绑定模式(例如活动/备用,其中在给定时间仅使用两个上行链路中的一个)会导致 50% 的上行链路可用带宽在任何给定时间未被使用。

LACP 要求在 TOR 交换机之间配置 MLAG 。在配置 MLAG 时,还需要使用诸如 VRR / VRRP 之类的技术实现网关级冗余。

Diagram showing three layers: CUST-EXIT (top); BCM-TOR (middle); DGX (bottom).
图 1 。 TOR 交换机之间配置 MLAG 的以太网结构和 DGX /计算链路上配置的 LACP 绑定

使用 LACP 绑定接口的 PXE 引导

对于 HPC 集群部署, PXE 引导通常用于提供集群中的节点。因此,在上行链路上设置 LACP 旁路模式非常重要。否则,在供应过程中,如果不支持 LACP ,节点将无法进行 PXE 引导。

Diagram illustrating PXE boot connectivity during the provisioning process, with DGX-01 on the left, a cloud icon in the middle, and PXE/TFTP/DHCP Server on the right.
图 2 :配置过程中的 PXE 引导连接

在配置过程中,主机被配置为使用其网络接口之一进行引导。它从 DHCP 服务器获得 IP 地址分配和 TFTP 服务器信息。一旦从 DHCP 服务器接收到 TFTP 服务器信息,主机就会联系 TFTP 服务器以检索 PXE 引导/启动指令以进行配置(图 2 )。

Cumulus Linux MLAG 配置

您可以使用 Cumulus Linux CLI 接口( NVUE )在 BCM-TOR-01 和 BCM-TOR-02 交换机之间配置 MLAG 。这需要设置 MLAG mac-address,MLAG peer-ip,以及每个成员交换机上的 MLAG 优先级。

具有较低 MLAG 优先级值的交换机成为管理 MLAG 连接的主要交换机。具有较高 MLAG 优先级值的交换机成为辅助交换机。如果没有设置 MLAG 优先级,则设置默认优先级值 32768 。

要将 MLAG 配置添加到 BCM-TOR-01 ,请使用以下配置:

cumulus@BCM-TOR-01:~$ nv set interface peerlink bond member swp61-62
cumulus@BCM-TOR-01:~$ nv set mlag mac-address 44:38:39:BE:EF:AA
cumulus@BCM-TOR-01:~$ nv set mlag backup 192.168.200.3 vrf mgmt
cumulus@BCM-TOR-01:~$ nv set mlag peer-ip linklocal
cumulus@BCM-TOR-01:~$ nv set mlag priority 2084
cumulus@BCM-TOR-01:~$ nv config apply
cumulus@BCM-TOR-01:~$ nv config save

要将 MLAG 配置添加到 BCM-TOR-02 ,请使用以下配置:

cumulus@BCM-TOR-02:~$ nv set interface peerlink bond member swp61-62
cumulus@BCM-TOR-02:~$ nv set mlag mac-address 44:38:39:BE:EF:AA
cumulus@BCM-TOR-02:~$ nv set mlag backup 192.168.200.2
cumulus@BCM-TOR-02:~$ nv set mlag peer-ip linklocal
cumulus@BCM-TOR-02:~$ nv config apply
cumulus@BCM-TOR-02:~$ nv config save

要验证 BCM-TOR-01 上的 MLAG 状态,请使用以下命令:

cumulus@BCM-TOR-01:mgmt:~$ net show clag
The peer is alive
 	Our Priority, ID, and Role: 2084 48:b0:2d:ad:49:8c primary
	Peer Priority, ID, and Role: 32768 48:b0:2d:5f:4d:d0 secondary
      	Peer Interface and IP: peerlink.4094 fe80::4ab0:2dff:fe5f:4dd0 (linklocal)
                  	Backup IP: 192.168.200.3 vrf mgmt (active)
                 	System MAC: 44:38:39:be:ef:aa
cumulus@BCM-TOR-01:mgmt:~$

要验证 BCM-TOR-02 上的 MLAG 状态,请使用以下命令:

cumulus@BCM-TOR-02:mgmt:~$ net show clag
The peer is alive
 	Our Priority, ID, and Role: 32768 48:b0:2d:5f:4d:d0 secondary
	Peer Priority, ID, and Role: 2084 48:b0:2d:ad:49:8c primary
      	Peer Interface and IP: peerlink.4094 fe80::4ab0:2dff:fead:498c (linklocal)
                  	Backup IP: 192.168.200.2 vrf mgmt (active)
                 	System MAC: 44:38:39:be:ef:aa
cumulus@BCM-TOR-02:mgmt:~$

界面结合配置

您可以使用 Cumulus Linux CLI 接口( NVUE )来配置到 DGX-01 和 DGX-02 节点的接口的绑定上行链路。对于每个 MLAG 债券接口,必须定义债券名称、债券成员接口、每个债券的唯一 MLAG ID 和债券描述。您还必须为 PXE 引导启用 LACP 旁路模式,通过强制绑定成为网桥的成员将其配置为 L2 绑定,并配置用于 PXE 引导的本机/未标记 VLAN 。

要将接口连接配置添加到 BCM-TOR-01 ,请使用以下配置:

cumulus@BCM-TOR-01:~$ nv set interface bond1 bond member swp1
cumulus@BCM-TOR-01:~$ nv set interface bond1 bond mlag id 1
cumulus@BCM-TOR-01:~$ nv set interface bond1 bond lacp-bypass on
cumulus@BCM-TOR-01:~$ nv set interface bond1 description dgx01
cumulus@BCM-TOR-01:~$ nv set interface bond2 bond member swp2
cumulus@BCM-TOR-01:~$ nv set interface bond2 bond mlag id 2
cumulus@BCM-TOR-01:~$ nv set interface bond2 description dgx02
cumulus@BCM-TOR-01:~$ nv set interface bond2 bond lacp-bypass on
cumulus@BCM-TOR-01:~$ nv set interface bond1 bridge domain br_default
cumulus@BCM-TOR-01:~$ nv set interface bond2 bridge domain br_default
cumulus@BCM-TOR-01:~$ nv set interface bond1 bridge domain br_default untagged 222
cumulus@BCM-TOR-01:~$ nv set interface bond2 bridge domain br_default untagged 222
cumulus@BCM-TOR-01:~$ nv set bridge domain br_default vlan 221-223
cumulus@BCM-TOR-01:~$ nv config apply
cumulus@BCM-TOR-01:~$ nv config save

要将接口连接配置添加到 BCM-TOR-02 ,请使用以下配置:

cumulus@BCM-TOR-02:~$ nv set interface bond1 bond member swp1
cumulus@BCM-TOR-02:~$ nv set interface bond1 bond mlag id 1
cumulus@BCM-TOR-02:~$ nv set interface bond1 bond lacp-bypass on
cumulus@BCM-TOR-02:~$ nv set interface bond1 description dgx01
cumulus@BCM-TOR-02:~$ nv set interface bond2 bond member swp2
cumulus@BCM-TOR-02:~$ nv set interface bond2 bond mlag id 2
cumulus@BCM-TOR-02:~$ nv set interface bond2 bond lacp-bypass on
cumulus@BCM-TOR-02:~$ nv set interface bond2 description dgx02
cumulus@BCM-TOR-02:~$ nv set interface bond1 bridge domain br_default
cumulus@BCM-TOR-02:~$ nv set interface bond2 bridge domain br_default
cumulus@BCM-TOR-02:~$ nv set interface bond1 bridge domain br_default untagged 222
cumulus@BCM-TOR-02:~$ nv set interface bond2 bridge domain br_default untagged 222
cumulus@BCM-TOR-02:~$ nv set bridge domain br_default vlan 221-223
cumulus@BCM-TOR-02:~$ nv config apply
cumulus@BCM-TOR-02:~$ nv config save

network-admin@BCM-TOR-01:mgmt:~$ net show int bond1
    Name    MAC                Speed  MTU   Mode
--  ------  -----------------  -----  ----  -------
UP  bond1  1c:34:da:29:17:04  100G   9216  802.3ad

Bond Details
------------------  --------
Bond Mode:          802.3ad
Load Balancing:     layer3+4
Minimum Links:      1
LACP Sys Priority:
LACP Rate:          1
LACP Bypass:        Active

All VLANs on L2 Port
--------------------
221-223

Untagged
--------
222

cl-netstat counters
-------------------
    RX_OK  RX_ERR  RX_DRP  RX_OVR     TX_OK  TX_ERR  TX_DRP  TX_OVR
---------  ------  ------  ------  --------  ------  ------  ------
249728882       0      18       0  32865480       0       1       0

结论

MLAG 是一个经过充分测试的功能,被许多 NVIDIA 客户使用,可以帮助提供物理交换机级别的冗余,避免单点故障,并最大限度地提高以太网结构中总可用带宽的总体利用率。在以太网网络侧,NVIDIA Cumulus Linux是一款业界领先的开放式网络操作系统,被许多财富 100 强企业所使用。想了解更多关于 NVIDIA 如何部署大规模集群的信息,请查看NVIDIA DGX SuperPODNVIDIA DGX BasePOD

 

Tags