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 máquinas virtuales habilitadas para InfiniBand (IB), se requieren los controladores IB adecuados para habilitar RDMA.
- Las Imágenes de máquina virtual Ubuntu-HPC en Marketplace vienen preconfiguradas con los controladores de NVIDIA IB y los controladores de GPU adecuados.
- Las Imágenes de máquina virtual AlmaLinux-HPC en Marketplace vienen preconfiguradas con los controladores de NVIDIA IB y los controladores de GPU adecuados.
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, puede obtener má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 Imágenes de máquina virtual de AlmaLinux-HPC.
Imágenes de máquina virtual de RHEL
Las imágenes de máquina virtual basadas en RHEL en Marketplace se pueden configurar para su uso en las máquinas virtuales habilitadas para SR-IOV Máquinas virtuales compatibles con RDMA. 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, Controladores de Linux Integration Services (LIS) se pueden instalar o actualizar en distribuciones de sistema operativo compatibles, especialmente si se implementa mediante una imagen personalizada o una versión anterior del sistema operativo, como RHEL 6.x o una versión anterior de 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
- Obtenga más información sobre cómo habilitar InfiniBand en las máquinas virtuales de la serie HB y N habilitadas para InfiniBand.
- Más información sobre cómo instalar y ejecutar varias bibliotecas MPI admitidas en las máquinas virtuales.
- Revise la información general de la serie HBv3 y la información general de la serie HC.
- En los blogs de Azure Compute Community Tech, encontrará los anuncios más recientes, ejemplos de la carga de trabajo HPC y resultados de HPC.
- Si desea una visión general de la arquitectura de la ejecución de cargas de trabajo de HPC, consulte Informática de alto rendimiento (HPC) en Azure.