Panoramica delle macchine virtuali della serie HCHC-series virtual machine overview

Per ottimizzare le prestazioni delle applicazioni HPC nei processori Intel Xeon scalabili è necessario un approccio riflessivo per elaborare la selezione host in questa nuova architettura.Maximizing HPC application performance on Intel Xeon Scalable Processors requires a thoughtful approach to process placement on this new architecture. In questo esempio viene illustrata l'implementazione delle macchine virtuali della serie HC di Azure per le applicazioni HPC.Here, we outline our implementation of it on Azure HC-series VMs for HPC applications. Il termine "pNUMA" viene usato per fare riferimento a un dominio NUMA fisico e "vNUMA" per fare riferimento a un dominio NUMA virtualizzato.We will use the term “pNUMA” to refer to a physical NUMA domain, and “vNUMA” to refer to a virtualized NUMA domain. Analogamente, si userà il termine "pCore" per fare riferimento ai core CPU fisici e a "vCore" per fare riferimento ai core CPU virtualizzati.Similarly, we will use the term “pCore” to refer to physical CPU cores, and “vCore” to refer to virtualized CPU cores.

Fisicamente, un server della serie HC è costituito da 2 * CPU Intel Xeon Platinum 8168 a 24 core per un totale di 48 core fisici.Physically, an HC-series server is 2 * 24-core Intel Xeon Platinum 8168 CPUs for a total of 48 physical cores. Ogni CPU è un singolo dominio pNUMA e ha accesso unificato a sei canali di DRAM.Each CPU is a single pNUMA domain, and has unified access to six channels of DRAM. Le CPU Intel Xeon Platinum presentano una cache L2 di dimensioni superiori a 4 volte superiore rispetto alle generazioni precedenti (256 KB/core-> 1 MB/Core), riducendo al tempo stesso la cache L3 rispetto alle CPU Intel precedenti (2,5 MB/Core-> 1,375 MB/Core).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 topologia precedente viene riportata anche alla configurazione dell'hypervisor della serie HC.The above topology carries over to the HC-series hypervisor configuration as well. Per consentire il funzionamento dell'hypervisor di Azure senza interferire con la macchina virtuale, si riservano pCores 0-1 e 24-25 (ovvero i primi 2 pCores in ogni 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). Si assegnano quindi i domini di pNUMA tutti i core rimanenti alla macchina virtuale.We then assign pNUMA domains all remaining cores to the VM. Quindi, la macchina virtuale visualizzerà:Thus, the VM will see:

(2 vNUMA domains) * (22 cores/vNUMA) = 44 Core per macchina virtuale(2 vNUMA domains) * (22 cores/vNUMA) = 44 cores per VM

La macchina virtuale non è a conoscenza del pCores 0-1 e 24-25.The VM has no knowledge that pCores 0-1 and 24-25 weren't given to it. In questo modo, espone ogni vNUMA come se avesse 22 core a livello nativo.Thus, it exposes each vNUMA as if it natively had 22 cores.

Con le CPU Intel Xeon Platinum, Gold e Silver è stata introdotta anche una rete mesh 2D su disco per la comunicazione all'interno e all'esterno del socket della 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. Si consiglia vivamente di bloccare i processi per ottenere prestazioni e coerenza ottimali.We strongly recommend process pinning for optimal performance and consistency. Il blocco dei processi funzionerà nelle macchine virtuali della serie HC perché il silicio sottostante viene esposto così com'è alla macchina virtuale guest.Process pinning will work on HC-series VMs because the underlying silicon is exposed as-is to the guest VM.

Il diagramma seguente illustra la separazione dei core riservati per l'hypervisor di Azure e la macchina virtuale della serie HC.The following diagram shows the segregation of cores reserved for Azure Hypervisor and the HC-series VM.

Separazione dei core riservati per la VM di Azure hypervisor e della serie HC

Specifiche hardwareHardware specifications

Specifiche hardwareHardware Specifications VM serie HCHC-series VM
CoreCores 44 (HT disabilitato)44 (HT disabled)
CPUCPU Intel Xeon Platinum 8168Intel Xeon Platinum 8168
Frequenza CPU (non-AVX)CPU Frequency (non-AVX) 3,7 GHz (core singolo), 2.7-3,4 GHz (tutti i core)3.7 GHz (single core), 2.7-3.4 GHz (all cores)
MemoriaMemory 8 GB/Core (Totale 352)8 GB/core (352 total)
Disco localeLocal Disk SSD 700 GB700 GB SSD
InfinibandInfiniband 100 GB EDR Mellanox ConnectX-5100 Gb EDR Mellanox ConnectX-5
ReteNetwork 50 GB Ethernet (40 GB utilizzabili) Azure Second gen SmartNIC50 Gb Ethernet (40 Gb usable) Azure second Gen SmartNIC

Specifiche del softwareSoftware specifications

Specifiche del softwareSoftware Specifications VM serie HCHC-series VM
Dimensioni massime del processo MPIMax MPI Job Size 13200 Core (300 VM in un singolo set di scalabilità di macchine virtuali con singlePlacementGroup = true)13200 cores (300 VMs in a single virtual machine scale set with singlePlacementGroup=true)
Supporto MPIMPI Support HPC-X, Intel MPI, OpenMPi, MVAPICH2, MPICH, Platform MPIHPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI
Framework aggiuntiviAdditional Frameworks Comunicazione unificata X, libfabric, PGAUnified Communication X, libfabric, PGAS
Supporto per archiviazione di AzureAzure Storage Support Dischi standard e Premium (massimo 4 dischi)Standard and Premium Disks (maximum 4 disks)
Supporto del sistema operativo per SRIOV RDMAOS Support for SRIOV RDMA CentOS/RHEL 7.6 +, SLES 12 SP4 +, WinServer 2016 +CentOS/RHEL 7.6+, SLES 12 SP4+, WinServer 2016+
Supporto per l'agente di orchestrazioneOrchestrator Support CycleCloud, batchCycleCloud, Batch

Passaggi successiviNext steps