Você está correto com suas suposições. Ao executar o MPI em Infiniband, você normalmente deseja ignorar a pilha de rede e usar a interface RDMA / Verbs para obter desempenho total. Toda a comunicação enviada por essa interface não será contabilizada na interface IPoIB ib0
, por exemplo,
Para monitorar o tráfego que o cartão Infiniband está fazendo, você pode ver em /sys/class/infiniband/mlx4_0/ports/1/counters/
para os contadores. Infelizmente, esses são apenas contadores de 32 bits que são preenchidos rapidamente no Infiniband, portanto, você deve ter instalado o perfquery
, que pode coletar os contadores de desempenho em sua malha com contadores de 64 bits.
Para fazer uma consulta simples com perfquery
localmente em um nó e obter os contadores de 64 bits, você pode emitir o comando da seguinte forma.
perfquery -x
Você também pode obter os contadores de desempenho de uma máquina remota adicionando o LID do dispositivo Infiniband de remoção.
perfquery -x -a 2
Onde -a
diz todas as portas do LID 2.
Por favor, note que PortXmitData
e PortRcvData
são números por linha e você tem que multiplicá-los normalmente por 4 para obter Bytes reais. Você também pode adicionar um -r
para redefinir os contadores para seu perfquery
, o que facilita o cálculo dos valores por segundo.