![Mellanox ConnectX-7: no se puede obtener más de 250 Gbit/s](https://rvso.com/image/789258/Mellanox%20ConnectX-7%3A%20no%20se%20puede%20obtener%20m%C3%A1s%20de%20250%20Gbit%2Fs.png)
Tengo varias máquinas con tarjetas ConnectX-7 Infiniband y están conectadas a un conmutador Nvidia QM9700. Confirmé 400 Gbit NDR en ambos extremos (ibstat en el host y en la consola del conmutador). Las máquinas ejecutan Ubuntu 22.04 y los controladores Mellanox 5.8-3.0.7.0. He realizado muchas pruebas ib_write_bw
y lo máximo que puedo obtener es ~251 Gbit/s. Los comandos de prueba reales son:
Lado del servidor (host_a):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits
Lado del cliente (host_b):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits --run_infinitely host_b
Las tarjetas están en los dominios numa correctos para coincidir con numactl, pero probé otras combinaciones sin suerte. La salida termina pareciéndose a esto:
---------------------------------------------------------------------------------------
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
Sé que esto probablemente sea una posibilidad remota, pero me pregunto si alguien realmente ha logrado 400 gbit en infiniband con ib_write_bw
eso, podría saber algo que nos perdimos.
Respuesta1
Entonces, la respuesta terminó siendo que necesitábamos configurar el parámetro PCI MAX_ACC_OUT_READ
en 128. Una vez que se configuró mlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128
para cada tarjeta y luego se apagó y encendió las máquinas, el rendimiento saltó de ~250 gbit a ~375 Gbit. No 400 pero lo acepto. Para hacer cada tarjeta:
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