![Mellanox ConnectX-7 - Mehr als 250 Gbit/s nicht möglich](https://rvso.com/image/789258/Mellanox%20ConnectX-7%20-%20Mehr%20als%20250%20Gbit%2Fs%20nicht%20m%C3%B6glich.png)
Ich habe mehrere Maschinen mit ConnectX-7 Infiniband-Karten und sie sind an einen Nvidia QM9700-Switch angeschlossen. Ich habe an beiden Enden 400 Gbit NDR bestätigt (ibstat auf dem Host und in der Konsole auf dem Switch). Auf den Maschinen laufen Ubuntu 22.04 und die Mellanox 5.8-3.0.7.0-Treiber. Ich habe viele Tests durchgeführt ib_write_bw
und das Beste, was ich erreichen kann, sind ~251 Gbit/s. Die eigentlichen Testbefehle sind:
Serverseite (host_a):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits
Client-Seite (host_b):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits --run_infinitely host_b
Die Karten befinden sich in den richtigen Numa-Domänen, um mit numactl übereinzustimmen, aber ich habe andere Kombinationen davon ohne Erfolg ausprobiert. Die Ausgabe sieht am Ende ungefähr so aus:
---------------------------------------------------------------------------------------
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
Ich weiß, dass das wahrscheinlich weit hergeholt ist, aber ich frage mich, ob jemand damit tatsächlich 400 Gbit/s über Infiniband erreicht hat, aber ib_write_bw
vielleicht weiß er etwas, was wir übersehen haben.
Antwort1
Die Antwort war also, dass wir den PCI-Parameter MAX_ACC_OUT_READ
auf 128 setzen mussten. Nachdem das für jede Karte eingestellt war mlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128
und die Maschinen dann neu gestartet wurden, sprang der Durchsatz von ~250 Gbit auf ~375 Gbit. Nicht 400, aber ich nehme es. So geht's für jede Karte:
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