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

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 VM habilitadas para InfiniBand (IB), se necesitan los controladores adecuados para habilitar RDMA.

  • Las imágenes de las VM Ubuntu-HPC en Marketplace vienen preconfiguradas con los controladores IB y GPU adecuados.
  • Las imágenes de las VM Ubuntu-HPC en Marketplace vienen preconfiguradas con los controladores IB y GPU adecuados.
  • Las imágenes de las VM CentOS-HPC en Marketplace vienen preconfiguradas con los controladores IB adecuados.
    • La imagen de la máquina virtual CentOS-HPC versión 7.9 también viene preconfigurada con los controladores NVIDIA GPU.

Estas imágenes de VM se basan en las imágenes de VM base de CentOS y Ubuntu en Marketplace. Los scripts usados en la creación de imágenes de VM a partir de su imagen base de CentOS en Marketplace se encuentran en el repositorio 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:

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, imágenes de máquina virtual AlmaLinux-HPCy imágenes de máquina virtual CentOS-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, imágenes de máquina virtual AlmaLinux-HPCy imágenes de máquina virtual CentOS-HPC versión 7.9 vienen preconfiguradas con los controladores de GPU de 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.

  • Además, los detalles sobre lo que se incluye en las imágenes de VM de Ubuntu-HPC y cómo implementarlas se encuentran en un artículo de TechCommunity.

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 AlmaLinux-HPC y cómo implementarlos se encuentran en un artículo de TechCommunity.

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

Para sr-IOV habilitado Máquinas virtuales compatibles con RDMA,imágenes de máquina virtual Ubuntu-HPC,imágenes de Máquina virtual de AlmaLinux-HPCy imágenes de máquina virtual CentOS-HPC versión 7.6 y posteriores son adecuadas. Estas imágenes de VM vienen preconfiguradas con los controladores OFED de Mellanox para RDMA y bibliotecas MPI y paquetes informáticos científicos de uso común. Consulte la matriz de soporte de tamaño de VM.

Nota:

Entre las imágenes de VM de CentOS-HPC, actualmente solo la imagen de VM de la versión 7.9 viene preconfigurada adicionalmente con los controladores NVIDIA GPU y la pila de software de proceso GPU (CUDA, NCCL). CentOS 7 es actualmente la única versión de CentOS admitida, que seguirá recibiendo parches de seguridad de la comunidad y actualizaciones de corrección de errores hasta junio de 2024. Por lo tanto, no publicaremos ninguna nueva imagen de HPC de CentOS en Azure Marketplace. Todavía puede usar nuestras imágenes de CentOS HPC versión 7.9, pero se recomienda considerar la posibilidad de pasar a nuestras alternativas de imágenes HPC de AlmaLinux en Azure Marketplace, ya que tienen el mismo conjunto de controladores instalados que Ubuntu/CentOS.

Nota:

Los tamaños de máquina virtual de la serie N habilitados para SR-IOV con FDR InfiniBand (por ejemplo, NCv3) podrán usar las siguientes versiones de imagen de máquina virtual CentOS-HPC o anteriores de 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

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.

  • También se pueden utilizar los scripts utilizados en la creación de CentOS-HPC versión 7.6 y las imágenes de VM posteriores a partir de una imagen base de CentOS Marketplace del repositorio azhpc-images.

Imágenes de máquina virtual de Ubuntu

Las imágenes base de VM de Ubuntu Server 16.04 LTS, 18.04 LTS y 20.04 LTS de Marketplace son compatibles con las máquinas virtuales compatibles con SR-IOV y las no compatibles con 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.
  • Los scripts usados en la creación de las imágenes de máquina virtual de HPC basadas en Ubuntu 18.04 y 20.04 LTS de una imagen base de Ubuntu Marketplace se encuentran en el repositorio azhpc-images.

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