Mellanox ConnectX-7 - Incapaz de obter mais de 250 Gbit/s

Mellanox ConnectX-7 - Incapaz de obter mais de 250 Gbit/s

Tenho várias máquinas com placas ConnectX-7 Infiniband e elas estão conectadas a um switch Nvidia QM9700. Confirmei NDR de 400 Gbit em ambas as extremidades (ibstat no host e no console do switch). As máquinas estão executando o Ubuntu 22.04 e os drivers Mellanox 5.8-3.0.7.0. Fiz muitos testes ib_write_bwe o máximo que consegui foi de aproximadamente 251 Gbit/s. Os comandos de teste reais são:

Lado do servidor (host_a):

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

Lado do cliente (host_b):

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

As cartas estão nos domínios numa corretos para corresponder ao numactl, mas tentei outras combinações disso sem sorte. A saída acaba ficando mais ou menos assim:

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

Eu sei que isso provavelmente é um tiro no escuro, mas me perguntando se alguém realmente alcançou 400 gbit em infiniband com ib_write_bwisso pode saber algo que perdemos.

Responder1

Portanto, a resposta acabou sendo que precisávamos definir o parâmetro PCI MAX_ACC_OUT_READpara 128. Uma vez definido mlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128para cada placa e, em seguida, desligando e ligando as máquinas, a taxa de transferência saltou de ~ 250 gbit para ~ 375 Gbit. Não 400, mas eu aceito. Para fazer cada cartão:

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

informação relacionada