Información general sobre las máquinas virtuales de la serie HB

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

Maximizar el rendimiento de la aplicación de proceso de alto rendimiento (HPC) en AMD EPYC requiere un enfoque bien meditado con respecto a la ubicación de los procesos y de la memoria. A continuación se describen la arquitectura de AMD EPYC y nuestra implementación de la misma en Azure para aplicaciones HPC. Vamos a utilizar el término "pNUMA" para referirnos a un dominio de NUMA físico y "vNUMA" para referirnos a un dominio virtualizado de NUMA.

Físicamente, un servidor de la serie HB tiene dos CPU EPYC 7551 con 32 núcleos cada una, lo que hace un total de 64 núcleos físicos. Estos 64 núcleos se divide en 16 dominios pNUMA (8 por socket), cada uno de los cuales es de cuatro núcleos y se conoce como "CPU compleja" (o "CCX"). Cada CCX tiene su propia memoria caché L3, que es el modo en que un sistema operativo verá un límite pNUMA/vNUMA. Un par de recursos compartidos CCXs adyacentes acceden a dos canales de DRAM física (32 GB de DRAM en servidores de la serie HB).

Para dejar margen suficiente para que el hipervisor de Azure pueda trabajar sin interferir con la máquina virtual, reservamos el dominio 0 pNUMA físico (el primer CCX). A continuación, asignamos los dominios pNUMA 1 a 15 (las unidades CCX restantes) para la máquina virtual. La máquina virtual verá:

(15 vNUMA domains) * (4 cores/vNUMA) = 60 núcleos por máquina virtual

La propia máquina virtual no sabe que pNUMA 0 no se le proporcionó. La máquina virtual entiende pNUMA 1 y 15 como vNUMA de 0 a 14, con 7 vNUMA en el vSocket 0 y 8 vNUMA en el vSocket 1. Aunque esto es asimétrico, el sistema operativo debería arrancar y funcionar con normalidad. Más adelante en esta guía, se indica a la mejor forma para ejecutar aplicaciones MPI en este diseño NUMA asimétrico.

El anclaje de procesos funcionará en las máquinas virtuales de la serie HB porque exponemos el silicio subyacente tal cual está a la máquina virtual invitada. Se recomienda encarecidamente anclar los procesos para disfrutar de una coherencia y un rendimiento óptimos.

En el siguiente diagrama se muestra la segregación de los núcleos reservados para el hipervisor de Azure y la máquina virtual de la serie HB.

Segregación de los núcleos reservados para el hipervisor de Azure y la máquina virtual de la serie HB

Especificaciones del hardware

Especificaciones del hardware VM de la serie HB
Núcleos 60 (SMT deshabilitado)
CPU AMD EPYC 7551
Frecuencia de CPU (no AVX) ~2,55 GHz (solo + todos los núcleos)
Memoria 4 GB/núcleo (240 GB en total)
Disco local SSD de 700 GB
Infiniband EDR de 100 Gb Mellanox ConnectX-5
Red Ethernet de 50 Gb (40 Gb útiles) SmartNIC de segunda generación de Azure

Especificaciones de software

Especificaciones de software VM de la serie HB
Tamaño de trabajo de MPI máximo 18000 núcleos (300 máquinas virtuales en un solo conjunto de escalado de máquinas virtuales con singlePlacementGroup=true)
Compatibilidad con MPI HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI
Otros marcos UCX, libfabric, PGAS
Soporte técnico para Azure Storage Discos estándar y premium (cuatro discos como máximo)
Soporte técnico de sistemas operativos para SRIOV RDMA CentOS/RHEL 7.6+, Ubuntu 18.04+, SLES 15.4, WinServer 2016+
Compatibilidad con Orchestrator CycleCloud, Batch, AKS; Opciones de configuración del clúster

Importante

En este documento se hace referencia a una versión de lanzamiento de Linux cercana o al final del ciclo de vida (EOL). Considere la posibilidad de actualizar a una versión más actual.

Pasos siguientes