Configurar e otimizar VMs

Aplica-se a: ✔️ VMs Linux VMs ✔️ ✔️ do Windows Conjuntos de escala flexíveis Conjuntos ✔️ de balanças uniformes

Este artigo compartilha algumas orientações sobre como configurar e otimizar as VMs HB-series e N-series habilitadas para InfiniBand para HPC.

Imagens de VM

Em VMs habilitadas para InfiniBand (IB), os drivers apropriados são necessários para habilitar o RDMA.

  • As imagens de VM Ubuntu-HPC no Marketplace vêm pré-configuradas com os drivers IB e GPU apropriados.
  • As imagens de VM AlmaLinux-HPC no Marketplace vêm pré-configuradas com os drivers IB e GPU apropriados.
  • As imagens CentOS-HPC VM no Marketplace vêm pré-configuradas com os drivers IB apropriados.
    • A imagem da VM do CentOS-HPC versão 7.9 também vem pré-configurada com os drivers de GPU NVIDIA.

Essas imagens de VM são baseadas nas imagens de VM de mercado base do CentOS e do Ubuntu. Os scripts usados na criação dessas imagens VM a partir de sua imagem base do CentOS Marketplace estão no repositório azhpc-images.

Em VMs da série N habilitadas para GPU, os drivers de GPU apropriados também são necessários. Isso pode ser disponibilizado pelos seguintes métodos:

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

Tamanhos de VM suportados pelas imagens de VM HPC

Suporte InfiniBand OFED

As imagens mais recentes do Azure HPC marketplace vêm com o Mellanox OFED 5.1 e superior, que não suportam placas ConnectX3-Pro InfiniBand. As placas ConnectX-3 Pro InfiniBand requerem a versão MOFED 4.9 LTS. Essas imagens de VM suportam apenas placas ConnextX-5 e InfiniBand mais recentes. A seguinte matriz de suporte de tamanho de VM para o OFED InfiniBand nestas imagens de VM HPC:

  • Série HB: HB, HC, HBv2, HBv3, HBv4
  • Série N: NDv2, NDv4

Suporte de driver de GPU

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

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

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

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

VMs habilitadas para SR-IOV

Imagens VM Ubuntu-HPC

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

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

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

  • Além disso, detalhes sobre o que está incluído nas imagens de VM do Ubuntu-HPC e como implantá-las estão em um artigo da TechCommunity.

Imagens de VM AlmaLinux-HPC

Para VMs compatíveis com RDMA habilitadas para SR-IOV, as imagens de VM AlmaLinux-HPC versões 8.5, 8.6 e 8.7 são adequadas. Essas imagens de VM vêm pré-configuradas com os drivers Mellanox OFED para RDMA, NVIDIA GPU drivers, pilha de software de computação GPU (CUDA, NCCL) e bibliotecas MPI comumente usadas e pacotes de computação científica. Consulte a matriz de suporte de tamanho de VM.

  • As versões disponíveis ou mais recentes das imagens de VM podem ser listadas com as seguintes informações usando a CLI ou o 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, detalhes sobre o que está incluído nas imagens de VM AlmaLinux-HPC e como implantá-las estão em um artigo da TechCommunity.

Imagens CentOS-HPC VM

Para VMs compatíveis com RDMA habilitadas para SR-IOV, as imagens VM Ubuntu-HPC, as imagens VM AlmaLinux-HPC e as imagens VM CentOS-HPC versão 7.6 e posterior são adequadas. Essas imagens VM vêm pré-configuradas com os drivers Mellanox OFED para RDMA e bibliotecas MPI comumente usadas e pacotes de computação científica. Consulte a matriz de suporte de tamanho de VM.

Nota

Entre as imagens CentOS-HPC VM, atualmente apenas a imagem VM versão 7.9 vem adicionalmente pré-configurada com os drivers de GPU NVIDIA e pilha de software de computação GPU (CUDA, NCCL). O CentOS 7 é atualmente a única versão suportada do CentOS, que continuará a receber patches de segurança da comunidade e atualizações de correção de bugs até junho de 2024. Portanto, não estamos lançando novas imagens HPC do CentOS para o Azure marketplace. Você ainda pode usar nossas imagens CentOS HPC versão 7.9, mas é sugerido considerar a mudança para nossas alternativas de imagens AlmaLinux-HPC no mercado do Azure, que têm o mesmo conjunto de drivers instalados como Ubuntu-HPC e CentOS-HPC.

Nota

Os tamanhos de VM da série N habilitados para SR-IOV com FDR InfiniBand (por exemplo, NCv3 e mais antigos) poderão usar a seguinte imagem de VM CentOS-HPC ou versões mais antigas do Marketplace:

  • OpenLogic:CentOS-HPC:7.6:7.6.2020062900
  • OpenLogic:CentOS-HPC:7_6gen2:7.6.2020062901
  • OpenLogic:CentOS-HPC:7.7:7.7.2020062600
  • OpenLogic:CentOS-HPC:7_7-gen2:7.7.2020062601
  • OpenLogic:CentOS-HPC:8_1:8.1.2020062400
  • OpenLogic:CentOS-HPC:8_1-gen2:8.1.2020062401

Imagens de VM RHEL/CentOS

As imagens básicas de VM não HPC baseadas em RHEL ou CentOS no Marketplace podem ser configuradas para uso nas VMs compatíveis com RDMA habilitadas para SR-IOV. Saiba mais sobre como habilitar a InfiniBand e configurar o MPI nas VMs.

  • Scripts usados na criação do CentOS-HPC versão 7.6 e imagens VM posteriores de uma imagem base do CentOS Marketplace do repositório azhpc-images também podem ser usados.

Imagens de VM do Ubuntu

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

  • As instruções para ativar o InfiniBand nas imagens da VM do Ubuntu estão em um artigo da TechCommunity.
  • Os scripts usados na criação das imagens HPC VM baseadas no Ubuntu 18.04 e 20.04 LTS a partir de uma imagem base do Ubuntu Marketplace estão no repositório azhpc-images.

Nota

Mellanox OFED 5.1 e superior não suportam placas ConnectX3-Pro InfiniBand em tamanhos de VM da série N habilitados para SR-IOV com FDR InfiniBand (por exemplo, NCv3). Use LTS Mellanox OFED versão 4.9-0.1.7.0 ou anterior nas VMs da série N com placas ConnectX3-Pro. Para obter mais informações, consulte Drivers Linux InfiniBand.

Imagens de VM do SUSE Linux Enterprise Server

São suportadas imagens de VM SLES 12 SP3 para HPC, SLES 12 SP3 para HPC (Premium), SLES 12 SP1 para HPC, SLES 12 SP1 para HPC (Premium), SLES 12 SP4 e SLES 15 no Marketplace. Essas 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 configurações de otimização opcionais 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 distros de sistema operacional suportados, especialmente a implantação usando uma imagem personalizada ou uma versão mais antiga do sistema operacional, como o CentOS/RHEL 6.x ou a versão anterior do 7.x.

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

Recuperar 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 a reinicialização da VM:

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

Desative o firewall e o 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 cpupower

sudo service cpupower status

Se ativado, desative-o:

sudo service cpupower stop
sudo systemctl disable cpupower

Configurar o 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, em seguida, habilitado pós-trabalho para disponibilidade máxima de recursos de VM para a carga de trabalho HPC.

Próximos passos