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

这篇文章最初发表在 NVIDIA 技术博客上。

对于专门为人工智能训练而构建的 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 之类的技术实现网关级冗余。

图 1 。 TOR 交换机之间配置 MLAG 的以太网结构和 DGX /计算链路上配置的 LACP 绑定

使用 LACP 绑定接口的 PXE 引导

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

图 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 ,请使用以下配置:

ruby 复制代码
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 ,请使用以下配置:

ruby 复制代码
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 状态,请使用以下命令:

scss 复制代码
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 状态,请使用以下命令:

scss 复制代码
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 ,请使用以下配置:

ruby 复制代码
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 ,请使用以下配置:

ruby 复制代码
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

阅读原文

相关推荐
放羊郎3 天前
配置Nvidia JETSON AGX Xavier
nvidia·虚拟机·jetson·刷机·重装系统·xavier
free-xx10 天前
AGX Orin平台RTC驱动导致reboot系统卡住问题调试
nvidia·jetson·orin
AndrewHZ17 天前
【三维渲染技术讨论】Blender输出的三维文件里的透明贴图在Isaac Sim里会丢失, 是什么原因?
算法·3d·blender·nvidia·贴图·具身智能·isaac sim
荔枝吻21 天前
【沉浸式解决问题】NVIDIA 显示设置不可用。 您当前未使用连接到NVIDIA GPU 的显示器。
nvidia·英伟达
算家计算21 天前
算力暴增!英伟达发布新一代机器人超级计算机,巨量算力驱动物理AI革命
人工智能·云计算·nvidia
可期不折腾23 天前
NVIDIA Nsight Systems性能分析工具
ubuntu·nvidia·nsight systems·性能分析工具
量子位1 个月前
黄仁勋子女成长路径曝光:一个学烘焙一个开酒吧,从基层做到英伟达高管
ai编程·nvidia
Ray Song1 个月前
CUDA杂记--nvcc使用介绍
nvidia·cuda·nvcc
吾鳴1 个月前
网信办约谈英伟达,H20芯片后门风波震动中国AI产业
人工智能·nvidia·芯片
mpr0xy2 个月前
编译支持cuda硬件加速的ffmpeg
ai·ffmpeg·nvidia·cuda