Översikt över virtuella datorer i HB-serien
Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar
För att maximera prestanda för databehandling med höga prestanda (HPC) på AMD EPYC krävs en genomtänkt metod för minneslokalitet och processplacering. Nedan beskriver vi AMD EPYC-arkitekturen och vår implementering av den i Azure för HPC-program. Vi använder termen "pNUMA" för att referera till en fysisk NUMA-domän och "vNUMA" för att referera till en virtualiserad NUMA-domän.
Fysiskt är en HB-serieserver 2 * 32-kärniga EPYC 7551-processorer för totalt 64 fysiska kärnor. Dessa 64 kärnor är indelade i 16 pNUMA-domäner (8 per socket), som var och en är fyra kärnor och kallas för ett "CPU-komplex" (eller "CCX"). Varje CCX har sin egen L3-cache, vilket är hur ett operativsystem ser en pNUMA/vNUMA-gräns. Ett par intilliggande CCXs delar åtkomst till två kanaler med fysisk DRAM (32 GB DRAM på HB-seriens servrar).
För att ge utrymme för Azure-hypervisor-programmet att fungera utan att störa den virtuella datorn reserverar vi fysisk pNUMA-domän 0 (den första CCX). Sedan tilldelar vi pNUMA-domäner 1–15 (återstående CCX-enheter) för den virtuella datorn. Den virtuella datorn ser:
(15 vNUMA domains) * (4 cores/vNUMA) = 60
kärnor per virtuell dator
Själva den virtuella datorn vet inte att pNUMA 0 inte gavs till den. Den virtuella datorn förstår pNUMA 1-15 som vNUMA 0-14, med 7 vNUMA på vSocket 0 och 8 vNUMA på vSocket 1. Även om detta är asymmetriskt bör operativsystemet starta och fungera normalt. Senare i den här guiden instruerar vi hur du bäst kör MPI-program på den här asymmetriska NUMA-layouten.
Processfästning fungerar på virtuella datorer i HB-serien eftersom vi exponerar det underliggande kiselet som det är för den virtuella gästdatorn. Vi rekommenderar starkt att du fäster processen för optimal prestanda och konsekvens.
Följande diagram visar uppdelningen av kärnor som är reserverade för Azure Hypervisor och den virtuella datorn i HB-serien.
Maskinvaruspecifikationer
Maskinvaruspecifikationer | Virtuell dator i HB-serien |
---|---|
Kärnor | 60 (SMT inaktiverad) |
Processor | AMD EPYC 7551 |
CPU-frekvens (icke-AVX) | ~2,55 GHz (enkel + alla kärnor) |
Minne | 4 GB/kärna (totalt 240 GB) |
Lokal disk | 700 GB SSD |
Infiniband | 100 Gb EDR Mellanox ConnectX-5 |
Nätverk | 50 Gb Ethernet (40 Gb användbart) Azure second Gen SmartNIC |
Programvaruspecifikationer
Programvaruspecifikationer | Virtuell dator i HB-serien |
---|---|
Maximal MPI-jobbstorlek | 18 000 kärnor (300 virtuella datorer i en enda VM-skalningsuppsättning med singlePlacementGroup=true) |
MPI-support | HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI |
Ytterligare ramverk | UCX, libfabric, PGAS |
Stöd för Azure Storage | Standard- och Premium-diskar (högst 4 diskar) |
OS-stöd för SRIOV RDMA | RHEL 7.6+, Ubuntu 18.04+, SLES 15.4, WinServer 2016+ |
Stöd för Orchestrator | CycleCloud, Batch, AKS; konfigurationsalternativ för kluster |
Viktigt!
Det här dokumentet refererar till en versionsversion av Linux som närmar sig eller vid End of Life (EOL). Överväg att uppdatera till en mer aktuell version.
Nästa steg
- Läs mer om AMD EPYC-arkitektur och arkitekturer med flera chip. Mer detaljerad information finns i HPC-justeringsguiden för AMD EPYC-processorer.
- Läs om de senaste meddelandena, HPC-arbetsbelastningsexempel och prestandaresultat på Azure Compute Tech Community-bloggarna.
- En arkitekturvy på högre nivå för att köra HPC-arbetsbelastningar finns i HPC (High Performance Computing) på Azure.