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

Eva*_*van 5 performance infiniband

我有几台带有 ConnectX-7 Infiniband 卡的机器,它们已插入 Nvidia QM9700 交换机。我已确认两端均为 400 Gbit NDR(主机上的 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
Run Code Online (Sandbox Code Playgroud)

客户端(host_b):

numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits --run_infinitely host_b
Run Code Online (Sandbox Code Playgroud)

这些卡位于正确的 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
Run Code Online (Sandbox Code Playgroud)

我知道这可能不太可能,但想知道是否有人实际上已经在 infiniband 上实现了 400 GB,ib_write_bw这可能知道我们错过了什么。

Eva*_*van 3

因此,最终的答案是我们需要将 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
Run Code Online (Sandbox Code Playgroud)