利用 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

阅读原文

相关推荐
量子位9 天前
黄仁勋子女成长路径曝光:一个学烘焙一个开酒吧,从基层做到英伟达高管
ai编程·nvidia
Ray Song17 天前
CUDA杂记--nvcc使用介绍
nvidia·cuda·nvcc
吾鳴18 天前
网信办约谈英伟达,H20芯片后门风波震动中国AI产业
人工智能·nvidia·芯片
mpr0xy1 个月前
编译支持cuda硬件加速的ffmpeg
ai·ffmpeg·nvidia·cuda
GitLqr1 个月前
一周AI | 国际:NVIDIA、OpenAI、MidJourney 等行业巨头的创新与布局
openai·nvidia·lovable
GitLqr1 个月前
一周AI | 国内:黄仁勋访华,宇树上市辅导,12306 MCP,Kimi K2 赶超 DeepSeek ...
nvidia·deepseek·mcp
云上小朱1 个月前
软件安装-在ubuntu24安装nvidia driver和cuda toolkit
nvidia
羊八井1 个月前
使用 Earth2Studio 和 AI 模型进行全球天气预测:太阳辐照
pytorch·python·nvidia
神也佑我橙橙1 个月前
Ubuntu 22.04 安装英伟达驱动
linux·ubuntu·nvidia
cnbestec2 个月前
UR机器人解锁关节扭矩控制:利用英伟达Isaac Lab框架,推动装配自动化的Sim2Real迁移
机器人·nvidia·协作机器人·优傲机器人·关节扭矩控制·ur机器人