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

阅读原文

相关推荐
OpenCSG4 天前
Cosmos3:NVIDIA 把世界模型做成了“理解、生成、模拟、行动”的统一入口
人工智能·大模型·nvidia·opencsg
OpenBayes贝式计算6 天前
端侧同尺寸 SOTA:OpenBMB 发布 1B 参数模型 MiniCPM5-1B;集成多级平行语料与多语言词典:SMOL 翻译数据集开源
计算机视觉·google·nvidia
OpenBayes贝式计算6 天前
教程上新丨英伟达开源 LocateAnything,3B 模型可实现图像 + 视频的目标指向 / 开放词汇目标检测/指代表达定位 / OCR 文本定位等功能
计算机视觉·agent·nvidia
视***间7 天前
算力筑基,智领人形机器人新时代 —— 英伟达 × 宇树科技携手推进具身智能,视程空间基于 NVIDIA 全栈算力产品助力机器人产业落地
人工智能·机器人·nvidia·机器狗·gpt-oss·视程空间·宇树机器人
wangruofeng9 天前
NVIDIA RTX Spark 背后,联发科也坐上了主桌
aigc·nvidia
AI科技大本营9 天前
MediaTek 与NVIDIA 合作推出 NVIDIA RTX Spark,驱动下一代 Windows PC 体验
nvidia·mediatek
阿里云大数据AI技术10 天前
基于阿里云 DataWorks Data Agent 进行大模型热度分析
人工智能·agent·nvidia
Together_CZ15 天前
Windows 下 CUDA / cuDNN / PyTorch GPU 训练环境搭建完整指南:虚拟环境与系统级环境两种方案
virtualenv·nvidia·cuda·cudnn·rtx 5060
元让_vincent15 天前
论文Review SLAM cuVSLAM | NVIDIA 2025 | CUDA加速的视觉里程计与建图系统
nvidia·视觉slam·gpu加速
AI小小怪17 天前
保姆级教程:Ubuntu 22.04 安装 NVIDIA GPU 驱动 + CUDA 12.6(RTX 3080 显卡)
linux·nvidia·cuda