Capítulo 5. Configurando o IPoIB

Por padrão, o InfiniBand não utiliza o protocolo de Internet (IP) para comunicação. Entretanto, o IP sobre InfiniBand (IPoIB) fornece uma camada de emulação de rede IP sobre as redes de acesso remoto direto à memória (RDMA) InfiniBand. Isto permite que aplicações existentes não modificadas transmitam dados sobre redes InfiniBand, mas o desempenho é menor do que se a aplicação usasse RDMA nativamente.

Nota

As redes Internet Wide Area RDMA Protocol (iWARP) e RoCE já são baseadas em IP. Portanto, não se pode criar um dispositivo IPoIB em cima de dispositivos IWARP ou RoCE.

5.1. Os modos de comunicação IPoIB

Você pode configurar um dispositivo IPoIB no modo Datagram ou Connected. A diferença é o tipo de par de filas que a camada IPoIB tenta abrir com a máquina na outra extremidade da comunicação:

  • No modo Datagram, o sistema abre um par de filas desconectado e não confiável.

    Este modo não suporta pacotes maiores que a Unidade Máxima de Transmissão (MTU) da camada de ligação InfiniBand. A camada IPoIB adiciona um cabeçalho IPoIB de 4 bytes no topo do pacote IP que está sendo transmitido. Como resultado, a MTU IPoIB deve ser 4 bytes menor do que a MTU da camada de link InfiniBand. Como 2048 é um MTU de camada de link InfiniBand comum, o MTU do dispositivo IPoIB comum no modo Datagram é 2044.

  • No modo Connected, o sistema abre um par de filas conectado e confiável.

    Este modo permite mensagens maiores que a MTU de camada de link InfiniBand, e o adaptador do host trata da segmentação e remontagem de pacotes. Como resultado, não há limite de tamanho imposto ao tamanho das mensagens IPoIB que podem ser enviadas pelos adaptadores InfiniBand no modo Connected. Entretanto, os pacotes IP são limitados por causa do campo size e dos cabeçalhos TCP/IP. Por este motivo, o MTU IPoIB no modo Connected é de no máximo 65520 bytes.

    O modo Connected tem um desempenho superior, mas consome mais memória do kernel.

Se um sistema é configurado para usar o modo Connected, ele ainda envia tráfego multicast no modo Datagram, porque as chaves InfiniBand e o tecido não podem passar tráfego multicast no modo Connected. Além disso, o sistema volta ao modo Datagram, quando se comunica com qualquer host que não esteja configurado no modo Connected.

Ao executar a aplicação que envia dados multicast até o MTU máximo na interface, você deve configurar a interface no modo Datagram ou configurar a aplicação para limitar o tamanho do envio de pacotes a um tamanho que caberá em pacotes do tamanho de datagramas.