Översikt över virtuella datorer i HB-serien

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

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.

Uppdelning av kärnor som är reserverade för azure Hypervisor- och HB-seriens virtuella dator

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 Identifiering och åtgärd på slutpunkt Mellanox Anslut X-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 CentOS/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