Eu tenho o Infiniband rodando no RHEL 6.3
[root@master ~]# ibv_devinfo
hca_id: mthca0
transport: InfiniBand (0)
fw_ver: 4.7.927
node_guid: 0017:08ff:ffd0:6f1c
sys_image_guid: 0017:08ff:ffd0:6f1f
vendor_id: 0x08f1
vendor_part_id: 25208
hw_ver: 0xA0
board_id: VLT0060010001
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 2048 (4)
active_mtu: 2048 (4)
sm_lid: 2
port_lid: 3
port_lmc: 0x00
link_layer: InfiniBand
port: 2
state: PORT_DOWN (1)
max_mtu: 2048 (4)
active_mtu: 512 (2)
sm_lid: 0
port_lid: 0
port_lmc: 0x00
link_layer: InfiniBand
mas está funcionando apenas como root.
ao tentar de um não superusuário, não obtive nada:
[nicolas@master ~]$ ibv_devices
device node GUID
------ ----------------
mthca0 001708ffffd06f1c
Então, como permitir que usuários regulares usem o infiniband?
Responder1
Ok, este é um bug na versão RHEL 6.3
A regra do Udev está faltando:
/etc/udev/rules.d/90-rdma.rules
KERNEL=="umad*", SYMLINK+="infiniband/%k"
KERNEL=="issm*", SYMLINK+="infiniband/%k"
KERNEL=="ucm*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uverbs*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uat", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="ucma", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="rdma_cm", SYMLINK+="infiniband/%k", MODE="0666"
verhttps://www.centos.org/modules/newbb/viewtopic.php?topic_id=38586&forum=55
Responder2
É melhor simplesmente atualizar o pacote com a versão reparada, rdma-3.3-4. Mais detalhes aqui: http://rhn.redhat.com/errata/RHBA-2012-1423.html
Responder3
aqui estão informações mais completas para pessoas que desejam resolver este problema enfrentado no RH 6.3 Linux 2.6.32-279.9.1.el6.x86_64 #1 SMP Sex 31 de agosto 09:04:24 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
**#ibstat**
CA 'mlx4_0'
CA type: MT4099
Number of ports: 2
Firmware version: 2.10.700
Hardware version: 0
Node GUID: 0x0002c90300129780
System image GUID: 0x0002c901013029781
Port 1:
State: Active
Physical state: LinkUp
Rate: 56
Base lid: 1
LMC: 0
SM lid: 1
Capability mask: 0x0251486a
Port GUID: 0x0002c901013029781
Link layer: InfiniBand
1.Crie o arquivo ausente como root:
**vi /etc/udev/rules.d/90-rdma.rules**
------------ cut here ------------
KERNEL=="umad*", SYMLINK+="infiniband/%k"
KERNEL=="issm*", SYMLINK+="infiniband/%k"
KERNEL=="ucm*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uverbs*", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="uat", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="ucma", SYMLINK+="infiniband/%k", MODE="0666"
KERNEL=="rdma_cm", SYMLINK+="infiniband/%k", MODE="0666"
------------ cut here ------------
no nó de gerenciamento (ou seja, nó principal, nó de serviço, etc.)
2.Copie este arquivo via ssh ou qualquer método preferido para qualquer nó de computação no cluster.
**#ssh compute000 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute001 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute002 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute003 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
**#ssh compute004 cp /home/90-rdma.rules /etc/udev/rules.d/90-rdma.rules**
etc.
3.Verifique se o arquivo foi criado na pasta de cada nó de computação em/etc/udev/rules.d
**#ssh compute000 ls /etc/udev/rules.d | grep rdm
*#90-rdma.rules ***
4.Reinicie todos os nós de cálculo e nós de gerenciamento.
OBSERVAÇÃO: a. Após a alteração o usuário ainda obterá este resultado ao executar o comando
ibv_devices
[root@master ~]# ibv_devices
device node GUID
------ ----------------
mlx4_0 0002c901013029781
mas não se preocupe, basta executar seu aplicativo mpi preferido e tudo ficará bem.
b. O problema é que, independentemente do uso de qualquer fornecedor de HCA, ele esteja diretamente conectado ao sistema operacional.
c. Isso parece ser causado por uma alteração feita no upstream do pacote rdma (não há mais regras do udev), os dispositivos infiniband são criados pelo kernel com as permissões erradas. Este problema foi relatado por usuários do CentOS 6.3 e Scientific Linux 6.3
Espero que ajude outras pessoas
Responder4
Eu acho que você entra em uma situação semelhante à minha.
Executei o rping e o ib_write_bw, com a saída como
Não foi possível alocar MR
isso é como Dotan disse que
Suspeito que você esteja trabalhando como usuário não root e que haja um limite para a quantidade de páginas de memória que podem ser bloqueadas (ou seja, fixadas). Aumentar esse tamanho deve resolver o problema.
Obrigado Dotan
a solução é simples, como aqui disse Dotanhttps://www.rdmamojo.com/2014/10/11/working-rdma-redhatcentos-7/
Edite o arquivo /etc/security/limits.conf e adicione as seguintes linhas:
- memlock suave ilimitado
- memlock rígido ilimitado