對于專門為人工智能訓練而構建的 HPC 集群,例如 NVIDIA DGX BasePOD 和 NVIDIA 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 之類的技術實現網關級冗余。

使用 LACP 綁定接口的 PXE 引導
對于 HPC 集群部署, PXE 引導通常用于提供集群中的節點。因此,在上行鏈路上設置 LACP 旁路模式非常重要。否則,在供應過程中,如果不支持 LACP ,節點將無法進行 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 SuperPOD和NVIDIA DGX BasePOD。
?