Partilhar via


Configurar e otimizar as VMs das séries H e N com suporte a InfiniBand.

Aplica-se a: ✔️ Máquinas Virtuais Linux ✔️ Máquinas Virtuais Windows ✔️ Conjuntos de dimensionamento flexível ✔️ Conjuntos de dimensionamento uniforme

Este artigo partilha algumas orientações sobre como configurar e otimizar as VMs das séries HB e N com suporte InfiniBand para HPC.

As imagens de VM

Em VMs ativadas pelo InfiniBand (IB), são necessários os drivers IB apropriados para ativar o RDMA.

  • As imagens de VM Ubuntu-HPC no Marketplace vêm pré-configuradas com os controladores apropriados NVIDIA IB e GPU.
  • As imagens de VM do AlmaLinux-HPC no Marketplace vêm pré-configuradas com os drivers apropriados para NVIDIA IB e GPU.

Estas imagens de VM baseiam-se nas imagens base do Ubuntu e AlmaLinux disponíveis no Marketplace. Os scripts usados na criação destas imagens de VM a partir das imagens base do marketplace estão no repositório azhpc-images.

Nas VMs N-series com GPU, são ainda necessários os drivers GPU apropriados. Isto pode ser obtido pelos seguintes métodos:

  • Use as imagens VM Ubuntu-HPC ou imagens VM AlmaLinux-HPC que vêm pré configuradas com os drivers da GPU NVIDIA e a stack de software de computação GPU (CUDA, NCCL).
  • Adiciona os drivers da GPU através das extensões da VM.
  • Instala os drivers da GPU manualmente.
  • Algumas outras imagens de VM no Marketplace também vêm pré-instaladas com os drivers da GPU NVIDIA, incluindo algumas imagens de VM da NVIDIA.

Dependendo das necessidades de versão e distribuição Linux das cargas de trabalho, as imagens de VM do Ubuntu-HPC e imagens de VM do AlmaLinux-HPC no Marketplace são a forma mais fácil de iniciar cargas de trabalho de HPC e IA no Azure. Também é recomendado criar imagens personalizadas de VM com personalização e configuração específicas para carga de trabalho para reutilização.

Tamanhos de VM suportados pelas imagens HPC VM

Suporte ao OFED da InfiniBand

As imagens mais recentes da loja Azure HPC vêm com Mellanox OFED 5.1 e superiores, que não são compatíveis com as placas InfiniBand ConnectX3-Pro. As placas ConnectX-3 Pro InfiniBand requerem a versão MOFED 4.9 LTS. Estas imagens de VM suportam apenas ConnextX-5 e placas InfiniBand mais recentes. A seguinte matriz de suporte para tamanhos de VM para o InfiniBand OFED nestas imagens de VM de HPC:

Suporte para drivers de GPU

Atualmente, apenas as imagens Ubuntu-HPC VM e AlmaLinux-HPC VM vêm pré-configuradas com os drivers da GPU NVIDIA e a pilha de software de computação da GPU (CUDA, NCCL).

A matriz de suporte ao tamanho da VM para os drivers da GPU nas imagens HPC VM suportadas é a seguinte:

  • Série N: Os tamanhos das VMs NDv2, NDv4 são suportados com os drivers de GPU NVIDIA e a pilha de software de computação de GPU (CUDA, NCCL).
  • Os outros tamanhos de VM 'NC' e 'ND' da série N são suportados pelos drivers da GPU NVIDIA.

Todos os tamanhos de VM da série N suportam VMs de Gen 2, embora algumas mais antigas também suportem VMs de Gen 1. O suporte à Geração 2 também é indicado com um "01" no final da URN ou versão da imagem.

VMs com SR-IOV ativado

Imagens de VM do Ubuntu-HPC

Para VMs compatíveis com RDMA e com SR-IOV ativado, as imagens de VM Ubuntu-HPC nas versões 18.04, 20.04 e 22.04 são adequadas. Estas imagens VM vêm pré-configuradas com os drivers Mellanox OFED para RDMA, drivers GPU NVIDIA, stack de software de computação para GPU (CUDA, NCCL), e as bibliotecas MPI e pacotes de computação científica mais comuns. Consulte a matriz de suporte ao tamanho da VM.

  • As versões disponíveis ou mais recentes das imagens VM podem ser listadas com as seguintes informações usando CLI ou Marketplace.

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • Scripts usados na criação das imagens Ubuntu-HPC VM a partir de uma imagem base do Ubuntu Marketplace estão no repositório azhpc-images.

Imagens de VM AlmaLinux-HPC

Para VMs capazes de RDMA com SR-IOV ativado, as imagens de VM do AlmaLinux-HPC, versões 8.5, 8.6 e 8.7, são adequadas. Estas imagens VM vêm pré-configuradas com os drivers Mellanox OFED para RDMA, drivers GPU NVIDIA, stack de software de computação para GPU (CUDA, NCCL), e as bibliotecas MPI e pacotes de computação científica mais comuns. Consulte a matriz de suporte ao tamanho da VM.

  • As versões disponíveis ou mais recentes das imagens VM podem ser listadas com as seguintes informações usando CLI ou Marketplace.

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • Os scripts usados na criação das imagens AlmaLinux-HPC VM a partir de uma imagem base do AlmaLinux Marketplace estão no repositório azhpc-images.

Além disso, mais detalhes sobre o que está incluído nas imagens de VM Ubuntu-HPC e imagens de VM AlmaLinux-HPC, e como as implementar, estão nas imagens de VM HPC do Azure.

Imagens VM RHEL

As imagens básicas de VM não HPC baseadas em RHEL no Marketplace podem ser configuradas para utilização nas VMs RDMA habilitadas SR-IOV. Saiba mais sobre como ativar o InfiniBand e configurar o MPI nas VMs.

Imagens de VM Ubuntu

As imagens base de VM Ubuntu Server 20.04 LTS e 22.04 LTS no Marketplace são suportadas tanto para VMs SR-IOV como não SR-IOV compatíveis com RDMA. Saiba mais sobre como ativar o InfiniBand e configurar o MPI nas VMs.

Observação

O Mellanox OFED 5.1 e superiores não suportam placas InfiniBand ConnectX3-Pro nos tamanhos de VM da série N com SR-IOV ativado e FDR InfiniBand (por exemplo, NCv3). Por favor, utilize LTS Mellanox OFED versão 4.9-0.1.7.0 ou anterior nas VMs da série N com placas ConnectX3-Pro. Para mais informações, consulte Drivers Linux InfiniBand.

Imagens de VM SUSE Linux Enterprise Server

São suportadas as imagens VM SLES 12 SP3 para HPC, SLES 12 SP3 para HPC (Premium), SLES 12 SP1 para HPC, SLES 12 SP1 para HPC (Premium) e as imagens VM SLES 12 SP4 e SLES 15 no Marketplace. Estas imagens de VM vêm pré-carregadas com os drivers Network Direct para RDMA (nos tamanhos de VM não SR-IOV) e Intel MPI versão 5.1. Saiba mais sobre como configurar o MPI nas VMs.

Otimizar VMs

A seguir estão algumas definições opcionais de otimização para melhorar o desempenho na VM.

Atualizar LIS

Se necessário para funcionalidade ou desempenho, os drivers do Linux Integration Services (LIS) podem ser instalados ou atualizados em distribuições do sistema operativo suportadas, especialmente se for implementado usando uma imagem personalizada ou uma versão mais antiga do sistema operativo, como RHEL 6.x ou versões anteriores da 7.x.

wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh

Recuperar a memória

Melhore o desempenho recuperando automaticamente a memória para evitar o acesso remoto à memória.

sudo echo 1 >/proc/sys/vm/zone_reclaim_mode

Mantenha o modo de recuperação de memória persistente após o reinício da VM:

sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p

Desativar firewall e SELinux

sudo systemctl stop iptables.service
sudo systemctl disable iptables.service
sudo systemctl mask firewalld
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo iptables -nL
sudo sed -i -e's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Desativar a potência do CPU

sudo service cpupower status

Se ativado, desative:

sudo service cpupower stop
sudo systemctl disable cpupower

Configurar WALinuxAgent

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

Opcionalmente, o WALinuxAgent pode ser desativado antes de executar um trabalho e depois ativado o post-job para máxima disponibilidade de recursos da VM para a carga de trabalho HPC.

Próximos passos