Configuración y optimización de máquinas virtuales

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca de su estado Final de ciclo vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para más información, consulte la Guía de fin de ciclo de vida de CentOS.

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles ✔️ Conjuntos de escalado uniformes

En este artículo se incluyen algunas instrucciones sobre la configuración y optimización de las VM de la serie HB y la serie N habilitadas para InfiniBand para HPC.

Imágenes de VM

En las máquinas virtuales habilitadas para InfiniBand (IB), se requieren los controladores IB adecuados para habilitar RDMA.

Estas imágenes de máquina virtual se basan en las imágenes de máquina virtual base de Ubuntu y AlmaLinux marketplace. Los scripts usados en la creación de estas imágenes de máquina virtual a partir de sus imágenes de Marketplace base se encuentran en el repositorio de azhpc-images.

En las VM de la serie N habilitadas para GPU, también se requieren los controladores de GPU adecuados. Pueden estar disponibles mediante los métodos siguientes:

  • Use las imágenes de máquina virtual Ubuntu-HPC o AlmaLinux-HPC que vienen configuradas previamente con los controladores de la GPU NVIDIA y la pila de software de cálculo de la GPU (CUDA, NCCL).
  • Incorporación de los controladores de GPU a través de las extensiones de VM.
  • Instale los controladores de GPU manualmente.
  • Algunas otras imágenes de VM en Marketplace también vienen preinstaladas con los controladores NVIDIA GPU, incluidas algunas imágenes de VM de NVIDIA.

En función de las necesidades de distribución y versión de Linux de las cargas de trabajo, Imágenes de máquina virtual Ubuntu-HPC y Imágenes de máquina virtual AlmaLinux-HPC en Marketplace son la manera más fácil de empezar a trabajar con cargas de trabajo de HPC e IA en Azure. También se recomienda crear imágenes de VM personalizadas con personalización y configuración específicas de la carga de trabajo para su reutilización.

Tamaños de VM admitidos por las imágenes de VM de HPC

Compatibilidad con InfiniBand OFED

Las imágenes HPC de Azure Marketplace más recientes vienen con OFED 5.1 de Mellanox y versiones posteriores, que no admiten tarjetas InfiniBand ConnectX3-Pro. Las tarjetas InfiniBand ConnectX-3 Pro requieren la versión LTS MOFED 4.9. Estas imágenes de VM solo admiten tarjetas InfiniBand ConnextX-5 y versiones más recientes. La siguiente matriz de soporte de tamaño de VM para InfiniBand OFED en estas imágenes de VM de HPC:

Compatibilidad con el controlador de GPU

Actualmente, solo las Imágenes de máquina virtual Ubuntu-HPC y las Imágenes de máquina virtual AlmaLinux-HPC vienen preconfiguradas con los controladores de GPU NVIDIA y la pila de software de proceso de GPU (CUDA, NCCL).

La matriz de compatibilidad del tamaño de VM para los controladores de GPU en las imágenes de VM de HPC admitidas es la siguiente:

  • Serie N: los tamaños de VM NDv2 y NDv4 son compatibles con los controladores de GPU de NVIDIA y la pila de software de proceso de GPU (CUDA, NCCL).
  • Los otros tamaños de VM "NC" y "ND" de la serie N se admiten con los controladores de GPU de NVIDIA.

Todos los tamaños de VM admiten VM de Gen 2, aunque algunas más antiguas también admiten VM de Gen 1. La compatibilidad con "Gen 2" también se indica con un "01" al final del URN de imagen o la versión.

Máquinas virtuales habilitadas para SR-IOV

Imágenes de VM de Ubuntu-HPC

Para las VM compatibles con RDMA habilitadas para SR-IOV, las imágenes de VM de Ubuntu-HPC, versiones 18.04, 20.04 y 22.04, son adecuadas. Estas imágenes de VM vienen preconfiguradas con los controladores OFED de Mellanox para RDMA, controladores de GPU NVIDIA, pila de software de proceso de GPU (CUDA, NCCL) y bibliotecas MPI de uso común y paquetes de cómputo científico. Consulte la matriz de soporte de tamaño de VM.

  • Las versiones disponibles o más recientes de las imágenes de VM se pueden enumerar con la siguiente información mediante la CLI o Marketplace.

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • Los scripts usados en la creación de las imágenes de VM de Ubuntu-HPC a partir de una imagen base de Ubuntu en Marketplace se encuentran en el repositorio azhpc-images.

Imágenes de máquina virtual de AlmaLinux-HPC

Para SR-IOV habilitado Máquinas virtuales compatibles con RDMA, las imágenes de máquina virtual AlmaLinux-HPC 8.5, 8.6 y 8.7 son adecuadas. Estas imágenes de VM vienen preconfiguradas con los controladores OFED de Mellanox para RDMA, controladores de GPU NVIDIA, pila de software de proceso de GPU (CUDA, NCCL) y bibliotecas MPI de uso común y paquetes de cómputo científico. Consulte la matriz de soporte de tamaño de VM.

  • Las versiones disponibles o más recientes de las imágenes de VM se pueden enumerar con la siguiente información mediante la CLI o Marketplace.

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • Los scripts usados en la creación de imágenes de máquina virtual AlmaLinux-HPC a partir de una imagen base de Marketplace de AlmaLinux se encuentran en el repositorio azhpc-images.

Además, detalles sobre lo que se incluye en las Imágenes de máquina virtual de Ubuntu-HPC y Imágenes de máquina virtual AlmaLinux-HPC, y cómo implementarlas se encuentran en un Artículo de TechCommunity.

Nota:

Usamos para admitir imágenes de máquina virtual CentOS-HPC. Debido a la eliminación gradual de CentOS (actualmente, la única versión compatible CentOS 7 seguirá recibiendo revisiones de seguridad de la comunidad y actualizaciones de corrección de errores hasta junio de 2024), no vamos a publicar ninguna nueva imagen HPC de CentOS en Azure Marketplace. Se recomienda a los usuarios de CentOS/RHEL usar nuestras alternativas de imágenes AlmaLinux-HPC en Azure Marketplace, que tienen el mismo conjunto de controladores instalados que otras imágenes de HPC.

Imágenes de máquina virtual de RHEL/CentOS

Las imágenes base de VM que no son HPC basadas en RHEL o CentOS de Marketplace pueden configurarse para usarse en máquinas virtuales compatibles con RDMA habilitadas para SR-IOV. Obtenga más información sobre cómo habilitar InfiniBand y configurar MPI en las máquinas virtuales.

Imágenes de máquina virtual de Ubuntu

Las imágenes base de máquina virtual Ubuntu Server 20.04 LTS y 22.04 LTS en Marketplace se admiten tanto para SR-IOV como para Máquinas virtuales compatibles con RDMA que no son SR-IOV. Obtenga más información sobre cómo habilitar InfiniBand y configurar MPI en las máquinas virtuales.

  • Las instrucciones para habilitar InfiniBand en las imágenes de máquina virtual de Ubuntu se encuentran en un artículo de TechCommunity.

Nota:

Mellanox OFED versiones 5.1 y superiores no son compatibles con las tarjetas ConnectX3-Pro InfiniBand en tamaños de VM de la serie N habilitados para SR-IOV con FDR InfiniBand (por ejemplo, NCv3). Use la versión de LTS de OFED de Mellanox 4.9-0.1.7.0 o anterior en las máquinas virtuales de la serie N con tarjetas ConnectX3-Pro. Para más información, consulte Controladores InfiniBand de Linux.

Imágenes de máquina virtual de SUSE Linux Enterprise Server

Las imágenes de máquina virtual de 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 y SLES 15 de Marketplace son compatibles. Estas imágenes de VM vienen precargadas con los controladores Network Direct para RDMA (en los tamaños de VM que no son SR-IOV) e Intel MPI versión 5.1. Obtenga más información sobre cómo configurar MPI en las máquinas virtuales.

Optimización de máquinas virtuales

A continuación se muestran algunos valores de optimización opcionales para mejorar el rendimiento de la máquina virtual.

Actualización de LIS

Si es necesario para la funcionalidad o el rendimiento, los controladores de Linux Integration Services (LIS) pueden instalarse o actualizarse en distribuciones de SO compatibles, especialmente en la implementación mediante una imagen personalizada o una versión anterior de sistema operativo; por ejemplo, CentOS/RHEL 6.x u otra anterior a la 7.x.

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

Reclamación de memoria

Mejore el rendimiento reclamando automáticamente memoria, con el fin de evitar el acceso remoto a la memoria.

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

Mantenga el modo de recuperación de memoria persistente después de reiniciar la máquina virtual:

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

Deshabilitación del firewall y de 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

Deshabilitación de cpupower

sudo service cpupower status

Si está habilitado, deshabilítelo:

sudo service cpupower stop
sudo systemctl disable cpupower

Configuración de WALinuxAgent

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

Si lo desea, WALinuxAgent puede deshabilitarse antes de ejecutar un trabajo y luego habilitarse después del trabajo para obtener la máxima disponibilidad de recursos de VM para la carga de trabajo de HPC.

Pasos siguientes