Panoramica delle macchine virtuali serie HB
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. Il termine "pNUMA" viene usato per fare riferimento a un dominio NUMA fisico e "vNUMA" per fare riferimento a un dominio NUMA virtualizzato.
Fisicamente, un server serie HB è 2 * 32 core EPYC 7551 CPU per un totale di 64 core fisici. Questi 64 core sono suddivisi in 16 domini pNUMA (8 per socket), ognuno dei quali è quattro core e noto come "Complesso CPU" (o "CCX"). Ogni CCX ha una propria cache L3, ovvero il modo in cui un sistema operativo vede un limite pNUMA/vNUMA. Una coppia di condivisioni CCXs adiacenti accede a due canali di DRAM fisiche (32 GB di DRAM nei server serie HB).
Per consentire all'hypervisor di Azure di funzionare senza interferire con la macchina virtuale, si riserva il dominio pNUMA fisico 0 (il primo CCX). Verranno quindi assegnati domini pNUMA 1-15 (unità CCX rimanenti) per la macchina virtuale. La macchina virtuale vede:
(15 vNUMA domains) * (4 cores/vNUMA) = 60
core per macchina virtuale
La macchina virtuale stessa non sa che pNUMA 0 non è stato assegnato. La macchina virtuale riconosce pNUMA 1-15 come vNUMA 0-14, con 7 vNUMA in vSocket 0 e 8 vNUMA in vSocket 1. Anche nel caso di asimmetria, il sistema operativo dovrebbe avviarsi e funzionare normalmente. Più avanti in questa guida viene illustrato come eseguire le applicazioni MPI in questo layout NUMA asimmetrico.
L'aggiunta del processo funzionerà nelle macchine virtuali serie HB perché si espone il processore sottostante così come è alla macchina virtuale guest. È consigliabile aggiungere processi per ottenere prestazioni e uniformità ottimali.
Il diagramma seguente illustra la separazione dei core riservati per Hypervisor di Azure e la macchina virtuale serie HB.
Specifiche hardware
Specifiche hardware | Macchina virtuale serie HB |
---|---|
Core | 60 (SMT disabilitato) |
CPU | AMD EPYC 7551 |
Frequenza CPU (non AVX) | ~2,55 GHz (singolo + tutti i core) |
Memoria | 4 GB/core (totale 240 GB) |
Disco locale | SSD 700 GB |
InfiniBand | 100 Gb EDR Mellanox ConnectX-5 |
Rete | Ethernet 50 Gb (utilizzabile 40 GB) SmartNIC di seconda generazione di Azure |
Specifiche software
Specifiche software | Macchina virtuale serie HB |
---|---|
Dimensioni massime processo MPI | 18000 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 4 dischi) |
Supporto del sistema operativo per SRIOV RDMA | RHEL 7.6+, Ubuntu 18.04+, SLES 15.4, WinServer 2016+ |
Supporto di Orchestrator | CycleCloud, Batch, servizio Azure Kubernetes; Opzioni di configurazione del cluster |
Importante
Questo documento fa riferimento a una versione di Linux prossima o alla fine del servizio (EOL). Prendere in considerazione l'aggiornamento a una versione più recente.
Passaggi successivi
- Altre informazioni sull'architettura AMD EPYC e sulle architetture multi-chip. Per informazioni più dettagliate, vedere la Guida all'ottimizzazione HPC per processori AMD EPYC.
- Per informazioni sugli 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.