Configuración y optimización de máquinas virtualesConfigure and optimize VMs

En este artículo se incluyen algunas instrucciones sobre la configuración y optimización de las máquinas virtuales de la serie H y la serie N habilitadas para InfiniBand para HPC.This article shares some guidance on configuring and optimizing the InfiniBand-enabled H-series and N-series VMs for HPC.

Imágenes de VMVM images

En las máquinas virtuales habilitadas para InfiniBand, se necesitan los controladores adecuados para habilitar RDMA.On InfiniBand enabled VMs, the appropriate drivers are required to enable RDMA.

En las máquinas virtuales de la serie N habilitadas para GPU, también se requieren los controladores de GPU adecuados, que se pueden agregar a través de las extensiones de máquina virtual o manualmente.On GPU enabled N-series VMs, the appropriate GPU drivers are additionally required which can be added through the VM extensions or manually. Algunas imágenes de VM de Marketplace también vienen preinstaladas con los controladores de GPU de Nvidia, incluidas algunas imágenes VM de Nvidia.Some VM images on the Marketplace also come pre-installed with the Nvidia GPU drivers, including some VM images from Nvidia.

Imágenes de máquina virtual de CentOS-HPCCentOS-HPC VM images

Máquinas virtuales habilitadas para SR-IOVSR-IOV enabled VMs

Para las máquinas virtuales compatibles con RDMA habilitadas para SR-IOV, las imágenes de máquinas virtuales CentOS-HPC en la versión 7.6 y posteriores de Marketplace son adecuadas.For SR-IOV enabled RDMA capable VMs, CentOS-HPC VM images on the Marketplace version 7.6 and later, are suitable. Estas imágenes de máquina virtual, que se han optimizado y cargado previamente con los controladores OFED para RDMA y varias bibliotecas de MPI y paquetes de informática científica más usados, son la manera más fácil de empezar.These VM images come optimized and pre-loaded with the OFED drivers for RDMA and various commonly used MPI libraries and scientific computing packages and are the easiest way to get started.

  • Los detalles sobre lo que se incluye en la versión 7.6 y posteriores de las imágenes de máquina virtual de CentOS-HPC se encuentran en un artículo de TechCommunity.Details on what's included in the CentOS-HPC version 7.6 and later VM images are in a TechCommunity article.
  • Los Scripts usados en la creación de imágenes de máquina virtual de la versión 7.6 y posterior de CentOS-HPC a partir de una imagen base de Marketplace de CentOS base en el repositorio azhpc-images.Scripts used in the creation of the CentOS-HPC version 7.6 and later VM images from a base CentOS Marketplace image are on the azhpc-images repo.

Nota

Las imágenes HPC de Azure Marketplace más recientes tienen OFED 5.1 de Mellanox y versiones posteriores, que no admiten tarjetas InfiniBand ConnectX3-Pro.The latest Azure HPC marketplace images have Mellanox OFED 5.1 and above, which do not support ConnectX3-Pro InfiniBand cards. 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:SR-IOV enabled N-series VM sizes with FDR InfiniBand (e.g. NCv3 and older) will be able to use the following CentOS-HPC VM image or older versions from the Marketplace:

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

Máquinas virtuales no habilitadas para SR-IOVNon SR-IOV enabled VMs

En el caso de las máquinas virtuales compatibles con RDMA habilitadas para SR-IOV, las versiones 6.5 o posterior de CentOS-HPC (hasta la 7.4) de Marketplace son adecuadas.For non-SR-IOV enabled RDMA capable VMs, CentOS-HPC version 6.5 or a later version, up to 7.4 in the Marketplace are suitable. Por ejemplo, en las máquinas virtuales de la serie H16, se recomienda usar las versiones de la 7.1 a la 7.4.As an example, for H16-series VMs, versions 7.1 to 7.4 are recommended. Estas imágenes de máquina virtual se cargan previamente con los controladores de Network Direct para RDMA y la versión 5.1 de Intel MPI.These VM images come pre-loaded with the Network Direct drivers for RDMA and Intel MPI version 5.1.

Nota

En las imágenes de HPC basadas en CentOS para máquinas virtuales no habilitadas para SR-IOV, las actualizaciones del kernel están deshabilitadas en el archivo de configuración yum.On these CentOS-based HPC images for non-SR-IOV enabled VMs, kernel updates are disabled in the yum configuration file. Esto se debe a que los controladores RDMA de Linux de Network Direct se distribuyen en forma de paquete RPM y sus actualizaciones de estos podrían no funcionar si se actualiza el kernel.This is because the NetworkDirect Linux RDMA drivers are distributed as an RPM package, and driver updates might not work if the kernel is updated.

Imágenes de máquina virtual de RHEL/CentOSRHEL/CentOS VM images

Las imágenes de máquinas virtuales 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.RHEL or CentOS-based non-HPC VM images on the Marketplace can be configured for use on the SR-IOV enabled RDMA capable VMs. Obtenga más información sobre cómo habilitar InfiniBand y configurar MPI en las máquinas virtuales.Learn more about enabling InfiniBand and setting up MPI on the VMs.

  • 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.Scripts used in the creation of the CentOS-HPC version 7.6 and later VM images from a base CentOS Marketplace image from the azhpc-images repo can also be used.

Nota

OFED 5.1 de Mellanox y versiones posteriores no admiten tarjetas InfiniBand ConnectX3-Pro en tamaños de máquina virtual de la serie N habilitados para SR-IOV con InfiniBand FDR (por ejemplo, NCv3).Mellanox OFED 5.1 and above do not support ConnectX3-Pro InfiniBand cards on SR-IOV enabled N-series VM sizes with FDR InfiniBand (e.g. 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.Please use LTS Mellanox OFED version 4.9-0.1.7.0 or older on the N-series VM's with ConnectX3-Pro cards. Consulte más detalles aquí.Please see more details here.

Imágenes de máquina virtual de UbuntuUbuntu VM images

Las imágenes de máquina virtual 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.Ubuntu Server 16.04 LTS, 18.04 LTS, and 20.04 LTS VM images in the Marketplace are supported for both SR-IOV and non-SR-IOV RDMA capable VMs. Obtenga más información sobre cómo habilitar InfiniBand y configurar MPI en las máquinas virtuales.Learn more about enabling InfiniBand and setting up MPI on the VMs.

  • Las instrucciones para habilitar InfiniBand en las imágenes de máquina virtual de Ubuntu se encuentran en un artículo de TechCommunity.Instructions for enabling InfiniBand on the Ubuntu VM images are in a TechCommunity article.
  • 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.Scripts used in the creation of the Ubuntu 18.04 and 20.04 LTS based HPC VM images from a base Ubuntu Marketplace image are on the azhpc-images repo.

Imágenes de máquina virtual de SUSE Linux Enterprise ServerSUSE Linux Enterprise Server VM images

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.SLES 12 SP3 for HPC, SLES 12 SP3 for HPC (Premium), SLES 12 SP1 for HPC, SLES 12 SP1 for HPC (Premium), SLES 12 SP4 and SLES 15 VM images in the Marketplace are supported. Estas imágenes de máquina virtual se cargan previamente con los controladores de Network Direct para RDMA y la versión 5.1 de Intel MPI.These VM images come pre-loaded with the Network Direct drivers for RDMA and Intel MPI version 5.1. Obtenga más información sobre cómo configurar MPI en las máquinas virtuales.Learn more about setting up MPI on the VMs.

Optimización de máquinas virtualesOptimize VMs

A continuación se muestran algunos valores de optimización opcionales para mejorar el rendimiento de la máquina virtual.The following are some optional optimization settings for improved performance on the VM.

Actualización de LISUpdate 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.If necessary for functionality or performance, Linux Integration Services (LIS) drivers can be installed or updated on supported OS distros, especially is deploying using a custom image or an older OS version such as CentOS/RHEL 6.x or earlier version of 7.x.

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

Reclamación de memoriaReclaim memory

Mejore el rendimiento reclamando automáticamente memoria, con el fin de evitar el acceso remoto a la memoria.Improve performance by automatically reclaiming memory to avoid remote memory access.

echo 1 >/proc/sys/vm/zone_reclaim_mode

Para hacer que se mantenga después de que se reinicie la máquina virtual:To make this persist after VM reboots:

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

Deshabilitación del firewall y de SELinuxDisable firewall and SELinux

systemctl stop iptables.service
systemctl disable iptables.service
systemctl mask firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
iptables -nL
sed -i -e's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Deshabilitación de cpupowerDisable cpupower

service cpupower status
if enabled, disable it:
service cpupower stop
sudo systemctl disable cpupower

Configuración de WALinuxAgentConfigure WALinuxAgent

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

Si lo desea, WALinuxAgent puede estar deshabilitado como un paso anterior al trabajo y habilitado como un paso posterior al trabajo para disfrutar de la máxima disponibilidad de recursos de máquina virtual para la carga de trabajo de HPC.Optionally, the WALinuxAgent may be disabled as a pre-job step and enabled back post-job for maximum VM resource availability to the HPC workload.

Pasos siguientesNext steps