Mellanox ConnectX-7-无法获得超过 250 Gbit/s

Mellanox ConnectX-7-无法获得超过 250 Gbit/s

我有几台装有 ConnectX-7 Infiniband 卡的机器,它们插入 Nvidia QM9700 交换机。我已确认两端的 NDR 均为 400 Gbit(主机上的 ibstat 和交换机上的控制台)。这些机器运行的是 Ubuntu 22.04 和 Mellanox 5.8-3.0.7.0 驱动程序。我进行了大量测试,ib_write_bw最高速度约为 251 Gbit/s。实际测试命令如下:

服务器端(host_a):

numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits

客户端(host_b):

numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits --run_infinitely host_b

这些卡位于正确的 numa 域中,与 numactl 匹配,但我尝试了其他组合,但没有成功。输出最终看起来像这样:

---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
 Dual-port       : OFF          Device         : mlx5_4
 Number of qps   : 1            Transport type : IB
 Connection type : RC           Using SRQ      : OFF
 PCIe relax order: ON
 ibv_wr* API     : ON
 TX depth        : 128
 CQ Moderation   : 1
 Mtu             : 4096[B]
 Link type       : IB
 Max inline data : 0[B]
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0x54 QPN 0x0058 PSN xxx RKey 0x1820e0 VAddr xxx
 remote address: LID 0x53 QPN 0x0058 PSN xxx RKey 0x1820e0 VAddr xxx
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 65536      2353827          0.00               246.81             0.470754
 65536      2339084          0.00               245.27             0.467815
 65536      2338736          0.00               245.23             0.467746
 65536      2338574          0.00               245.22             0.467713
 65536      2338610          0.00               245.22             0.467720

我知道这可能是一个长远的目标,但我想知道是否有人真正通过 Infiniband 实现了 400 gbit,ib_write_bw也许知道我们错过的东西。

答案1

所以最终的答案是我们需要将 PCI 参数设置MAX_ACC_OUT_READ为 128。一旦通过为每张卡设置该参数mlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128,然后对机器进行电源循环,吞吐量就会从 ~250 Gbit 跃升至 ~375 Gbit。不是 400,但我会接受。对每张卡进行以下操作:

apt-get install mlnx-ofed-all
mst start
for i in `mst status -v | grep 'net-ibp' | awk '{print $3}'` ; do mlxconfig -y -d $i s MAX_ACC_OUT_READ=128  ; done

相关内容