У меня два одинаковых компьютера с картами Mellanox, соединенных между собой кабелем. Без коммутатора. Использую opensm.
Я провел несколько тестов, включая тесты ping_pong, ibping и т. д. Они все, кажется, работают. Однако, когда я запускаю этот тест, он возвращает что-то похожее на ошибку, которую я не понимаю.
Я сказал брандмауэру
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"
Любая помощь в расшифровке и возможном решении была бы полезна.
[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]$
решение1
Оказывается, это уже было. Мне не нравится ответ, потому что он как будто заметает все под ковер, но тем не менее это ответ:
http://linuxtoolkit.blogspot.com/2013/01/errors-when-running-doing-ib-testing.html
решение2
Обычно это происходит из-за того, что в ядре не загружены все необходимые модули. Они не загружаются по умолчанию. Не уверен, как с этим справляется centos, но в Ubuntu эти модули нужно поместить в /etc/modules, чтобы ядро их загрузило.
mlx4_ib
rdma_ucm
ib_umad
ib_uverbs
ib_ipoib
Я предполагаю, что ib_ipoib и mlx4_ib уже загружены, иначе вы бы не смогли заставить работать IP-сеть через Infiniband.
Вам также потребуется установить libmlx4, если он у вас еще не установлен.
Если это не поможет, попробуйте воспользоваться этой ссылкой, где перечислены все необходимые пакеты для Centos (Примечание: libmthca предназначена для старого чипсета mellanox [infinihost], поэтому в вашем случае она вам не понадобится).