Mellanox ConnectX-7 - 250 Gbit/s を超える速度が得られない

Mellanox ConnectX-7 - 250 Gbit/s を超える速度が得られない

私は 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

クライアント側 (host_b):

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

カードは numactl に一致する正しい NUMA ドメインにありますが、他の組み合わせを試してみましたがうまくいきませんでした。出力は次のようになります。

---------------------------------------------------------------------------------------
                    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_READ128 に設定する必要があるということでした。各カードでこれを設定し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

関連情報