Habilitar InfiniBand

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, veja as Orientações sobre fim da vida útil do CentOS.

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes

As VMs compatíveis com RDMA da série HB e da série N se comunicam pela rede InfiniBand de baixa latência e alta largura de banda. A funcionalidade RDMA em uma interconexão como essa é crítica para aumentar a escalabilidade e o desempenho de cargas de trabalho de HPC e IA de nó distribuído. As VMs das séries HB e N habilitadas para InfiniBand estão conectadas em "fat tree" sem bloqueio com um design de diâmetro baixo para oferecer desempenho otimizado e consistente do RDMA.

Há várias maneiras de habilitar o InfiniBand nos tamanhos de VM compatíveis.

Imagens de VM com os drivers InfiniBand

Confira as imagens de VM para ver uma lista de imagens de VM com suporte no Marketplace, elas já são pré-carregadas com os drivers InfiniBand (para as VMs SR-IOV ou não SR-IOV) ou podem ser configuradas com os drivers apropriados para as VMs compatíveis com RDMA. As imagens de VM do Ubuntu-HPC e AlmaLinux-HPC no marketplace são a maneira mais fácil de começar.

Extensões de VM do Driver InfiniBand

No Linux, a extensão de VM InfiniBandDriverLinux pode ser usada para instalar os drivers Mellanox OFED e habilitar o InfiniBand nas VMs das séries HB e N habilitadas para SR-IOV.

No Windows, a extensão de VM InfiniBandDriverWindows instala os drivers Windows Network Direct (nas VMs que não são SR-IOV) ou os drivers Mellanox OFED (nas VMs SR-IOV) para a conectividade RDMA. Em algumas implantações das instâncias A8 e A9, a extensão HpcVmDrivers é adicionada automaticamente. Observe que a extensão de VM HpcVmDrivers está sendo preterida; ela não será atualizada.

Para adicionar a extensão de VM a uma VM, use cmdlets do Azure PowerShell. Para obter mais informações, consulte Recursos e extensões da máquina virtual. Também é possível trabalhar com extensões de VMs implantadas no modelo de implantação clássico.

Instalação manual

Os drivers Mellanox OpenFabrics (OFED) podem ser instalados manualmente nas VMs das séries HB e Nhabilitadas para SR-IOV.

Linux

Os drivers OFED para Linux podem ser instalados como no exemplo abaixo. Embora os exemplos aqui sejam para o RHEL/CentOS, as etapas são gerais e podem ser usadas para qualquer sistema operacional Linux compatível, como o Ubuntu (18.04, 19.04 e 20.04) e o SLES (12 SP4+ e 15). Mais exemplos para outras distribuições estão no repositório azhpc-images. Os drivers de caixa de entrada também funcionam bem, mas os drivers Mellanox OFED fornecem mais recursos.

MLNX_OFED_DOWNLOAD_URL=http://content.mellanox.com/ofed/MLNX_OFED-5.0-2.1.8.0/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
# Optionally verify checksum
wget --retry-connrefused --tries=3 --waitretry=5 $MLNX_OFED_DOWNLOAD_URL
tar zxvf MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz

KERNEL=( $(rpm -q kernel | sed 's/kernel\-//g') )
KERNEL=${KERNEL[-1]}
# Uncomment the lines below if you are running this on a VM
#RELEASE=( $(cat /etc/centos-release | awk '{print $4}') )
#yum -y install http://olcentgbl.trafficmanager.net/centos/${RELEASE}/updates/x86_64/kernel-devel-${KERNEL}.rpm
sudo yum install -y kernel-devel-${KERNEL}
sudo ./MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64/mlnxofedinstall --kernel $KERNEL --kernel-sources /usr/src/kernels/${KERNEL} --add-kernel-support --skip-repo

Windows

Para o Windows, baixe e instale os drivers Mellanox OFED para Windows.

Habilitar IP no InfiniBand (IB)

Se você planeja executar trabalhos em MPI, normalmente não é necessário usar IPoIB. A biblioteca MPI usará a interface de verbos para a comunicação de IB (a menos que você explicitamente use o canal TCP/IP da biblioteca MPI). Mas, se você tiver um aplicativo que usa TCP/IP para comunicação e quiser executar no IB, você poderá usar o IPoIB na interface IB. Use os seguintes comandos (para RHEL/CentOS) para habilitar o IP no InfiniBand.

Importante

Para evitar problemas, verifique se você não está executando versões mais antigas do Agente Linux do Microsoft Azure (waagent). É recomendável usar pelo menos a versão 2.4.0.2 antes de habilitar o IP por IB.

sudo sed -i -e 's/# OS.EnableRDMA=n/OS.EnableRDMA=y/g' /etc/waagent.conf
sudo systemctl restart waagent

Próximas etapas