Omówienie maszyny wirtualnej z serii HBv2

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows ✔️ — elastyczne zestawy ✔️ skalowania.

Maksymalizowanie wydajności aplikacji obliczeniowych o wysokiej wydajności (HPC) na platformie AMD EPYC wymaga przemyślanego podejścia do lokalizacji pamięci i umieszczania procesów. Poniżej przedstawiono architekturę AMD EPYC i naszą implementację na platformie Azure dla aplikacji HPC. Termin pNUMA jest używany do odwoływania się do fizycznej domeny NUMA i architektury vNUMA w celu odwoływania się do zwirtualizowanej domeny NUMA.

Fizycznie serwer serii HBv2 to 2 * 64-rdzeniowy procesor EPYC 7V12 dla łącznie 128 rdzeni fizycznych. Jednoczesne wielowątkowość (SMT) jest wyłączona w HBv2. Te 128 rdzeni są podzielone na 16 sekcji (8 na gniazdo), każda sekcja zawiera 8 rdzeni procesora. Serwery usługi Azure HBv2 również uruchamiają następujące ustawienia systemu BIOS firmy AMD:

Nodes per Socket (NPS) = 2
L3 as NUMA = Disabled
NUMA domains within VM OS = 4
C-states = Enabled

W związku z tym serwer uruchamia się z 4 domenami NUMA (2 na gniazdo) każdy rozmiar 32 rdzeni. Każda architektura NUMA ma bezpośredni dostęp do 4 kanałów fizycznej pamięci DRAM działającej na poziomie 3200 MT/s.

Aby zapewnić miejsce na działanie funkcji hypervisor platformy Azure bez zakłócania działania maszyny wirtualnej, rezerwujemy 8 rdzeni fizycznych na serwer.

Topologia maszyny wirtualnej

Rezerwujemy te 8 rdzeni hosta funkcji hypervisor symetrycznie w obu gniazdach procesora CPU, biorąc pierwsze 2 rdzenie z określonych rdzeni złożonych dies (CCD) w każdej domenie NUMA, z pozostałymi rdzeniami maszyny wirtualnej serii HBv2. Granica CCD nie jest równoważna granicy NUMA. W systemie HBv2 grupa czterech kolejnych (4) CCDs jest skonfigurowana jako domena NUMA, zarówno na poziomie serwera hosta, jak i na maszynie wirtualnej gościa. W związku z tym wszystkie rozmiary maszyn wirtualnych HBv2 uwidaczniają 4 domeny NUMA, które pojawiają się w systemie operacyjnym i aplikacji. 4 jednolite domeny NUMA, z których każda ma inną liczbę rdzeni w zależności od określonego rozmiaru maszyny wirtualnej HBv2.

Przypinanie procesów działa na maszynach wirtualnych serii HBv2, ponieważ uwidaczniamy bazowy krzem jako maszynę wirtualną gościa. Zdecydowanie zalecamy przypinanie procesów w celu uzyskania optymalnej wydajności i spójności.

Specyfikacje sprzętowe

Specyfikacje sprzętu Maszyna wirtualna serii HBv2
Rdzenie 120 (wyłączono protokół SMT)
Procesor CPU AMD EPYC 7V12
Częstotliwość procesora CPU (inne niż AVX) ~3,1 GHz (pojedynczy + wszystkie rdzenie)
Pamięć 4 GB/rdzeń (łącznie 480 GB)
Dysk lokalny 960 GiB NVMe (blok), 480 GB SSD (plik stronicowy)
Infiniband 200 Gb/s HDR Mellanox Połączenie X-6
Sieć Sieć Ethernet 50 Gb/s (40 Gb/s do użycia) Azure Second Gen SmartNIC

Specyfikacje oprogramowania

Specyfikacje oprogramowania Maszyna wirtualna serii HBv2
Maksymalny rozmiar zadania MPI 36000 rdzeni (300 maszyn wirtualnych w jednym zestawie skalowania maszyn wirtualnych z singlePlacementGroup=true)
Obsługa interfejsu MPI HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPII
Dodatkowe struktury UCX, libfabric, PGAS
Obsługa usługi Azure Storage Dyski w warstwie Standardowa i Premium (maksymalnie 8 dysków)
Obsługa systemu operacyjnego dla SRIOV RDMA CentOS/RHEL 7.9+, Ubuntu 18.04+, SLES 12 SP5+, WinServer 2016+
Obsługa programu Orchestrator CycleCloud, Batch, AKS; opcje konfiguracji klastra

Uwaga

System Windows Server 2012 R2 nie jest obsługiwany na maszynach wirtualnych HBv2 i innych maszynach wirtualnych z więcej niż 64 rdzeniami (wirtualnymi lub fizycznymi). Aby uzyskać więcej informacji, zobacz Obsługiwane systemy operacyjne gościa systemu Windows dla funkcji Hyper-V w systemie Windows Server.

Następne kroki