Mellanox ConnectX-7: no se puede obtener más de 250 Gbit/s

Mellanox ConnectX-7: no se puede obtener más de 250 Gbit/s

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_bwy 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_bweso, podría saber algo que nos perdimos.

Respuesta1

Entonces, la respuesta terminó siendo que necesitábamos configurar el parámetro PCI MAX_ACC_OUT_READen 128. Una vez que se configuró mlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128para 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

información relacionada