Tengo dos ordenadores idénticos con tarjetas Mellanox conectados entre sí mediante un cable. Sin interruptor. Usando openm.
He realizado varias pruebas, incluidas pruebas de ping_pong, ibping, etc. Todas parecen funcionar. Sin embargo, cuando ejecuto esta prueba, aparece lo que parece ser un error que no entiendo.
Le dije al firewall
sudo iptables -I INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT -m comment --comment "Allow Infiniband"
sudo iptables -I INPUT -p udp -s 192.168.0.0/24 -j ACCEPT -m comment --comment "Allow Infiniband"
Cualquier ayuda para descifrar y una posible solución sería genial.
[idf@node2 Downloads]$ sudo ib_write_bw
************************************
* Waiting for client to connect... *
************************************
---------------------------------------------------------------------------------------
RDMA_Write BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x01 QPN 0x004a PSN 0xa79f2e RKey 0x50042a04 VAddr 0x007f1682804000
remote address: LID 0x02 QPN 0x004a PSN 0x5ef914 RKey 0x40042502 VAddr 0x007f94f9ce9000
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
ethernet_read_keys: Couldn't read remote address
Unable to read to socket/rdam_cm
Failed to exchange data between server and clients
[idf@node2 Downloads]$
[idf@node1 python]$ sudo ib_write_bw 192.168.0.1
---------------------------------------------------------------------------------------
RDMA_Write BW Test
Dual-port : OFF Device : mlx4_0
Number of qps : 1 Transport type : IB
Connection type : RC Using SRQ : OFF
TX depth : 128
CQ Moderation : 100
Mtu : 4096[B]
Link type : IB
Max inline data : 0[B]
rdma_cm QPs : OFF
Data ex. method : Ethernet
---------------------------------------------------------------------------------------
local address: LID 0x02 QPN 0x004a PSN 0x5ef914 RKey 0x40042502 VAddr 0x007f94f9ce9000
remote address: LID 0x01 QPN 0x004a PSN 0xa79f2e RKey 0x50042a04 VAddr 0x007f1682804000
---------------------------------------------------------------------------------------
#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps]
Conflicting CPU frequency values detected: 1600.000000 != 1733.000000
Can't produce a report
[idf@node1 python]$
Respuesta1
Resulta que esto ya se ha visto antes. No me gusta la respuesta porque parece esconderla debajo de la alfombra, pero de todos modos es una respuesta:
http://linuxtoolkit.blogspot.com/2013/01/errors-when-running-doing-ib-testing.html
Respuesta2
Esto suele ser el resultado de no tener todos los módulos necesarios cargados en el kernel. No se cargan por defecto. No estoy seguro de cómo lo maneja centos, pero en Ubuntu necesitas colocar estos módulos en /etc/modules para que el kernel los cargue.
mlx4_ib
rdma_ucm
ib_umad
ib_uverbs
ib_ipoib
Supongo que ib_ipoib y mlx4_ib ya están cargados o de lo contrario no funcionará la red IP a través de Infiniband.
También necesitarás instalar libmlx4 si aún no lo has instalado.
De lo contrario, pruebe este enlace que enumera todos los paquetes necesarios para Centos (Nota: libmthca es para un conjunto de chips mellanox [infinihost] anterior, por lo que no lo necesitará en su caso.