Panoramica delle macchine virtuali serie HBv2
Si applica a: ✔️ Macchine virtuali Linux ✔️ Macchine virtuali Windows ✔️ Set di scalabilità flessibili ✔️ Set di scalabilità uniformi.
Ottimizzare le prestazioni dell'applicazione HPC (High Performance Compute) in AMD EPYC richiede un approccio ponderato alla localizzazione della memoria e al posizionamento dei processi. Di seguito viene illustrata l'architettura AMD EPYC e la relativa implementazione in Azure per le applicazioni HPC. Viene usato il termine pNUMA per fare riferimento a un dominio NUMA fisico e vNUMA per fare riferimento a un dominio NUMA virtualizzato.
Fisicamente, un server serie HBv2 è 2 * CPU EPYC 7V12 64 core per un totale di 128 core fisici. Il multithreading simultaneo (SMT) è disabilitato in HBv2. I 128 core sono suddivisi in 16 sezioni (8 per socket), ognuna delle quali contiene 8 core del processore. I server Azure HBv2 eseguono anche le impostazioni del BIOS AMD seguenti:
Nodes per Socket (NPS) = 2
L3 as NUMA = Disabled
NUMA domains within VM OS = 4
C-states = Enabled
Di conseguenza, il server viene avviato con 4 domini NUMA (2 per socket). Ogni dominio ha dimensioni pari a 32 core. Ogni NUMA ha accesso diretto a 4 canali di DRAM fisica che operano a 3.200 MT/s.
Per fornire spazio all'hypervisor Azure affinché operi senza interferire con la macchina virtuale, vengono riservati 8 core fisici per server.
Topologia della macchina virtuale
Vengono riservati 8 core dell'host hypervisor simmetricamente in entrambi i socket della CPU, prendendo i primi 2 core da specifici Core Complex Dies (CCD) in ogni dominio NUMA, mentre i core rimanenti sono destinati alla macchina virtuale serie HBv2. Il limite CCD non è equivalente a un limite NUMA. In HBv2, un gruppo di quattro (4) CCD consecutivi è configurato come dominio NUMA, sia a livello di server host che all'interno di una macchina virtuale guest. Di conseguenza, tutte le dimensioni delle macchine virtuali HBv2 espongono 4 domini NUMA visualizzati nel sistema operativo e nell'applicazione. 4 domini NUMA uniformi, ognuno con un numero di core diverso a seconda delle specifiche dimensioni della macchina virtuale HBv2.
L'aggiunta del processo funziona nelle macchine virtuali serie HBv2 perché si espone il processore sottostante così come è alla macchina virtuale guest. È consigliabile aggiungere processi per ottenere prestazioni e coerenza ottimali.
Specifiche hardware
Specifiche hardware | Macchina virtuale serie HBv2 |
---|---|
Core | 120 (SMT disabilitato) |
CPU | AMD EPYC 7V12 |
Frequenza CPU (non AVX) | ~3,1 GHz (singolo + tutti i core) |
Memoria | 4 GB/core (totale 480 GB) |
Disco locale | 960 GiB NVMe (blocco), UNITÀ SSD da 480 GB (file di pagina) |
InfiniBand | HDR Mellanox ConnectX-6 da 200 Gb/s |
Rete | Ethernet 50 Gb (utilizzabile 40 Gb/s) SmartNIC di seconda generazione di Azure |
Specifiche software
Specifiche software | Macchina virtuale serie HBv2 |
---|---|
Dimensioni massime processo MPI | 36000 core (300 macchine virtuali in un singolo set di scalabilità di macchine virtuali con singlePlacementGroup=true) |
Supporto MPI | HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI |
Framework aggiuntivi | UCX, libfabric, PGAS |
Supporto di Archiviazione di Azure | Dischi Standard e Premium (massimo 8 dischi) |
Supporto del sistema operativo per SRIOV RDMA | RHEL 7.9+, Ubuntu 18.04+, SLES 12 SP5+, WinServer 2016+ |
Supporto di Orchestrator | CycleCloud, Batch, servizio Azure Kubernetes, opzioni di configurazione del cluster |
Nota
Windows Server 2012 R2 non è supportato in HBv2 e in altre macchine virtuali con più di 64 core (virtuali o fisici). Per altre informazioni, vedere Sistemi operativi guest Windows supportati per Hyper-V in Windows Server.
Passaggi successivi
- Per altre informazioni sull'architettura AMD EPYC e le architetture multi-chip, vedere la Guida all'ottimizzazione HPC per processori AMD EPYC.
- Per gli annunci più recenti sugli esempi di carico di lavoro HPC e sui risultati delle prestazioni, vedere i Blog della community tecnica di Calcolo di Azure.
- Per un quadro generale sull'architettura per l'esecuzione di carichi di lavoro HPC, vedere HPC (High Performance Computing) in Azure.