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_bw
e 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_bw
isso pode saber algo que perdemos.
Portanto, a resposta acabou sendo que precisávamos definir o parâmetro PCI
MAX_ACC_OUT_READ
para 128. Uma vez definidomlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128
para 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: