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 IB apropriados são necessários para habilitar o RDMA.
- As imagens de VM Ubuntu-HPC no Marketplace vêm pré-configuradas com os drivers NVIDIA IB e GPU apropriados.
- As imagens de VM AlmaLinux-HPC no Marketplace vêm pré-configuradas com os drivers NVIDIA IB e GPU apropriados.
Essas imagens de VM são baseadas nas imagens de VM de mercado do Ubuntu e AlmaLinux base. Os scripts usados na criação dessas imagens VM a partir de suas imagens de mercado base 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:
- Use as imagens de VM Ubuntu-HPC ou imagens VM AlmaLinux-HPC que vêm pré-configuradas com os drivers de GPU NVIDIA e pilha de software de computação GPU (CUDA, NCCL).
- Adicione os drivers de GPU através das extensões de VM.
- Instale os drivers da GPU manualmente.
- Algumas outras imagens de VM no Marketplace também vêm pré-instaladas com os drivers de GPU NVIDIA, incluindo algumas imagens de VM da NVIDIA.
Dependendo da distribuição Linux e das necessidades de versão das cargas de trabalho, as imagens de VM Ubuntu-HPC e as imagens de VM AlmaLinux-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 mercado de HPC do Azure 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 e imagens VM AlmaLinux-HPC 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.
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 VM AlmaLinux-HPC 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 implantá-las estão nas imagens de VM HPC do Azure.
Imagens RHEL VM
As imagens básicas de VM não HPC baseadas em RHEL 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.
Imagens de VM do Ubuntu
As imagens de VM base do Ubuntu Server 20.04 LTS e 22.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.
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 Linux InfiniBand Drivers.
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 RHEL 6.x ou 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
- Saiba mais sobre como habilitar a InfiniBand nas VMs HB-series e N-series habilitadas para InfiniBand.
- Saiba mais sobre como instalar e executar várias bibliotecas MPI suportadas nas VMs.
- Analise a visão geral da série HBv3 e a visão geral da série HC.
- Leia sobre os anúncios mais recentes, exemplos de carga de trabalho HPC e resultados de desempenho nos Blogs da Comunidade de Tecnologia de Computação do Azure.
- Para obter uma exibição de arquitetura de nível superior da execução de cargas de trabalho HPC, consulte Computação de alto desempenho (HPC) no Azure.