Introducción a las máquinas virtuales de la serie HCHC-series virtual machine overview

Para poder maximizar el rendimiento de las aplicaciones HPC en procesadores escalables de Intel Xeon, se requiere un enfoque bien meditado a la hora de procesar la selección de la ubicación de esta nueva arquitectura.Maximizing HPC application performance on Intel Xeon Scalable Processors requires a thoughtful approach to process placement on this new architecture. En este artículo, vamos a tratar de esbozar la implementación de estos procesadores en máquinas virtuales de la serie HC de Azure para aplicaciones HPC.Here, we outline our implementation of it on Azure HC-series VMs for HPC applications. 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.We will use the term “pNUMA” to refer to a physical NUMA domain, and “vNUMA” to refer to a virtualized NUMA domain. De igual modo, utilizaremos el término "pCore" para los núcleos de CPU físicos y "vCore" para los núcleos de CPU virtualizados.Similarly, we will use the term “pCore” to refer to physical CPU cores, and “vCore” to refer to virtualized CPU cores.

Físicamente, un servidor de la serie HC tiene dos CPU Xeon Platinum 8168 con 24 núcleos cada una, lo que hace un total de 48 núcleos físicos.Physically, an HC-series server is 2 * 24-core Intel Xeon Platinum 8168 CPUs for a total of 48 physical cores. Cada CPU es un único dominio de pNUMA y tiene acceso unificado a seis canales de DRAM.Each CPU is a single pNUMA domain, and has unified access to six channels of DRAM. Las CPU Intel Xeon Platinum se caracterizan por tener una caché L2 cuatro veces más grande que las generaciones anteriores (256 KB/núcleo -> 1 MB/núcleo) y por tener una caché L3 más reducida que las anteriores CPU de Intel (2,5 MB/núcleo -> 1375 MB/núcleo).Intel Xeon Platinum CPUs feature a 4x larger L2 cache than in prior generations (256 KB/core -> 1 MB/core), while also reducing the L3 cache compared to prior Intel CPUs (2.5 MB/core -> 1.375 MB/core).

La topología anterior también es aplicable a la configuración de los hipervisores de la serie HC.The above topology carries over to the HC-series hypervisor configuration as well. Para dejar margen suficiente para que el hipervisor de Azure pueda trabajar sin interferir con la máquina virtual, reservamos los pCores 0-1 y 24-25 (es decir, los dos primeros pCores de cada socket).To provide room for the Azure hypervisor to operate without interfering with the VM, we reserve pCores 0-1 and 24-25 (that is, the first 2 pCores on each socket). A continuación, asignamos los dominios de pNUMA y todos los núcleos restantes a la máquina virtual.We then assign pNUMA domains all remaining cores to the VM. Por lo tanto, la máquina virtual verá:Thus, the VM will see:

(2 vNUMA domains) * (22 cores/vNUMA) = 44 núcleos por máquina virtual(2 vNUMA domains) * (22 cores/vNUMA) = 44 cores per VM

La máquina virtual no sabe que tiene asignados los pCores 0-1 y 24-25.The VM has no knowledge that pCores 0-1 and 24-25 weren't given to it. Por tanto, expone cada vNUMA como si tuviera 22 núcleos de forma nativa.Thus, it exposes each vNUMA as if it natively had 22 cores.

Las CPU Intel Xeon Platinum, Gold y Silver también cuenta con una red de malla 2D en el mismo chip para realizar las comunicaciones internas y externas con el socket de la CPU.Intel Xeon Platinum, Gold, and Silver CPUs also introduce an on-die 2D mesh network for communication within and external to the CPU socket. Se recomienda encarecidamente anclar los procesos para disfrutar de una coherencia y un rendimiento óptimos.We strongly recommend process pinning for optimal performance and consistency. En anclaje de procesos funcionará en las máquinas virtuales de la serie HC porque el silicio subyacente se expone tal cual está a la máquina virtual invitada.Process pinning will work on HC-series VMs because the underlying silicon is exposed as-is to the guest VM.

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 HC.The following diagram shows the segregation of cores reserved for Azure Hypervisor and the HC-series VM.

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

Especificaciones del hardwareHardware specifications

Especificaciones del hardwareHardware Specifications Máquina virtual de la serie HCHC-series VM
NúcleosCores 44 (HT deshabilitado)44 (HT disabled)
CPUCPU Intel Xeon Platinum 8168Intel Xeon Platinum 8168
Frecuencia de CPU (no AVX)CPU Frequency (non-AVX) 3,7 GHz (un solo núcleo), 2,7-3,4 GHz (todos los núcleos)3.7 GHz (single core), 2.7-3.4 GHz (all cores)
MemoriaMemory 8 GB/núcleo (total: 352)8 GB/core (352 total)
Disco localLocal Disk SSD de 700 GB700 GB SSD
InfinibandInfiniband EDR de 100 Gb Mellanox ConnectX-5100 Gb EDR Mellanox ConnectX-5
RedNetwork Ethernet de 50 Gb (40 Gb útiles) SmartNIC de segunda generación de Azure50 Gb Ethernet (40 Gb usable) Azure second Gen SmartNIC

Especificaciones de softwareSoftware specifications

Especificaciones de softwareSoftware Specifications Máquina virtual de la serie HCHC-series VM
Tamaño de trabajo de MPI máximoMax MPI Job Size 13200 núcleos (300 máquinas virtuales en un solo conjunto de escalado de máquinas virtuales con singlePlacementGroup=true)13200 cores (300 VMs in a single virtual machine scale set with singlePlacementGroup=true)
Compatibilidad con MPIMPI Support HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPIHPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI
Otros marcosAdditional Frameworks UCX, libfabric, PGASUCX, libfabric, PGAS
Soporte técnico para Azure StorageAzure Storage Support Discos estándar y premium (cuatro discos como máximo)Standard and Premium Disks (maximum 4 disks)
Soporte técnico de sistemas operativos para SRIOV RDMAOS Support for SRIOV RDMA CentOS/RHEL 7.6+, Ubuntu 16.04+, SLES 12 SP4+, WinServer 2016+CentOS/RHEL 7.6+, Ubuntu 16.04+, SLES 12 SP4+, WinServer 2016+
Compatibilidad con OrchestratorOrchestrator Support CycleCloud, Batch, AKS; Opciones de configuración del clústerCycleCloud, Batch, AKS; cluster configuration options

Pasos siguientesNext steps