AI集群网络调优实践指南:从配置到验证的完整步骤

为什么AI集群需要单独调网络?

AI训练时,多台GPU服务器之间需要频繁交换梯度或模型参数。
如果网络延迟高、带宽小或丢包严重,GPU就会长时间等待数据,拖慢整个训练。
很多新手直接跑框架却遇到训练中断或速度慢,问题往往不在模型代码,而在网络没调好。
本文面向刚接触AI集群运维的用户,讲清楚从硬件检查参数调整再到效果验证的完整流程。

调优前的硬件与环境核查

网络方案确认:AI集群常用三种网络:InfiniBand、RoCEv2(基于以太网的RDMA)、普通TCP/IP。
先确认你的网卡和交换机支持哪种。

  • 查看网卡型号:lspci | grep -i network,搜到Mellanox或NVIDIA CX系列表示支持RDMA;
  • 检查驱动是否加载:lsmod | grep rdma,没有输出说明没装驱动或未起服务;
  • 查看当前速率:ethtool <网卡名> | grep Speed,确保跑在预期速率(如100Gbps)。

拓扑与MTU:确认所有节点在同一二层网络(或三层路由无瓶颈),MTU统一设为9000(巨帧)。
临时改法:ip link set dev eth0 mtu 9000
持久化需修改 /etc/sysconfig/network-scripts/ifcfg-eth0 中的MTU值。

核心网络参数调整(TCP与RDMA)

TCP参数优化(适用于以太网环境)

AI训练通常使用TCP长连接,需要增大缓冲区并开启拥塞控制算法。
编辑 /etc/sysctl.conf,加入以下配置:

net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_mtu_probing = 1

执行 sysctl -p 立即生效。
其中BBR算法对长距高带宽链路效果明显,内核需4.9+。

RDMA/RoCEv2启用

如果网卡支持RDMA,需要用以下步骤开启:

  1. 加载irdma或mlx5驱动模块(一般已经自动加载);
  2. 设置RoCE模式(以下以Mellanox ConnectX-5为例):
   mlxconfig -d /dev/mst/mt4119_pciconf0 set ROCE_ENABLE=1

改完后重启服务器;

  1. 验证RDMA设备是否正常:ibstatibv_devinfo,看到state为PORT_ACTIVE,physical state为LINK_UP即正常。

如果使用InfiniBand,则无需设置RoCE,直接安装opensm子网管理器(单机可先确认已有管理器运行)。

避坑要点

  • 网卡固件版本:很多调优不生效是因为固件过旧。通过 ibstat -vmlxfwmanager 检查,建议升级到官方最新LTS版本。
  • PFC与流控:RoCE依赖无损网络,交换机必须启用PFC(优先级流控)和ECN。如果只用TCP,则必须关闭交换机上的LLFC并走标准IEEE 802.3x。
  • 中断绑定:网卡中断要均匀分配到CPU核心,避免单核打满。使用 snmp_irqirqbalance 服务,也可以手动绑定 echo f > /proc/irq/xxx/smp_affinity
  • 防火墙或iptables:RDMA端口(如InfiniBand使用端口1、2)不要被防火墙误拦截。检查:iptables -L -n,确保允许相应流量。

性能验证方法

测试TCP吞吐

在两台节点上安装 iperf3,服务端运行:iperf3 -s,客户端运行:

iperf3 -c <服务器IP> -t 30 -P 8

观察带宽是否接近网卡线速(如100GbE应看到约94Gbps)。
如果结果远低于预期,检查CPU瓶颈、PCIe带宽或中断策略。

测试RDMA带宽

使用 ib_write_bw(需安装perftest包)。
服务端:ib_write_bw,客户端:

ib_write_bw <服务器IP> --report_gbits

对于InfiniBand HDR100,应看到约100 Gbps的带宽。
如果结果偏低,检查 mlnx_qos 流量整形策略。

验证无丢包:在icmp ping加 -f 参数不丢包;
或者用 ib_clear_outstanding 监控计数器。

常见问题解答

Q: 改了sysctl后训练速度没变化?
A: 检查是否只改了单节点,集群内所有节点必须一致;另外BBR需要双方都支持。

Q: ib_write_bw报错“cannot open device”
A: 可能是RDMA驱动未加载或权限不够;先执行 modprobe rdma_cm,再用root运行。

Q: 训练时偶尔报“connection timeout”
A: 大概率是大帧丢包,检查交换机MTU是否统一为9000,并确认PFC/ECN配置正确。

总结

AI集群网络调优不是一次性工作,每次扩容硬件或更换框架版本都要重新验证。
建议把上述sysctl参数和RDMA配置做成自动化脚本,并定期运行 iperf3ib_write_bw 作为健康检查。
如果你遇到网络问题,按本文的步骤排查,大概率能定位到根因。

分享到:
上一篇
大模型服务器散热全指南:从环境配置到日常维护
下一篇
模型蒸馏技术应用:从零掌握模型蒸馏技术:服务器上实战知识蒸馏
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意