ConnectX-7 Infiniband 카드가 장착된 여러 컴퓨터가 있고 Nvidia QM9700 스위치에 연결되어 있습니다. 양쪽 끝(호스트의 ibstat 및 스위치의 콘솔)에서 400Gbit NDR을 확인했습니다. 머신은 Ubuntu 22.04 및 Mellanox 5.8-3.0.7.0 드라이버를 실행하고 있습니다. 나는 많은 테스트를 수행했으며 ib_write_bw
얻을 수 있는 최대치는 ~251Gbit/s입니다. 실제 테스트 명령은 다음과 같습니다.
서버측(host_a):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits
클라이언트측(host_b):
numactl -N 0 -m 0 ib_write_bw -d mlx5_4 -F --report_gbits --run_infinitely host_b
카드는 numactl과 일치하는 올바른 Numa 도메인에 있지만 다른 조합을 시도했지만 운이 없었습니다. 출력은 다음과 같이 표시됩니다.
---------------------------------------------------------------------------------------
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
나는 이것이 아마도 긴 기회라는 것을 알고 있지만 실제로 인피니밴드를 통해 400gbit를 달성한 사람이 있다면 ib_write_bw
우리가 놓친 것을 알고 있을지 궁금합니다.
답변1
그래서 결국 우리는 PCI 매개변수를 MAX_ACC_OUT_READ
128로 설정해야 한다는 결론에 이르렀습니다. 각 카드에 대해 이를 설정 mlxconfig -y -d mlx5_4 s MAX_ACC_OUT_READ=128
하고 시스템의 전원을 껐다 켜면 처리량이 ~250gbit에서 ~375Gbit로 뛰어올랐습니다. 400은 아니지만 받아보겠습니다. 각 카드를 수행하려면 다음을 수행하십시오.
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