Omówienie maszyn wirtualnych z serii HB

Dotyczy: ✔️ maszyn wirtualnych z systemem Linux ✔️ Windows maszyn wirtualnych ✔️ elastycznych zestawów skalowania ✔️ jednolitych zestawów skalowania

Maksymalizowanie wydajności aplikacji obliczeń o wysokiej wydajności (HPC) na procesorze AMD EPYC wymaga przemyślanego podejścia do lokalizacji pamięci i rozmieszczenia procesów. Poniżej przedstawiono architekturę AMD EPYC i jej implementację na platformie Azure dla aplikacji HPC. Termin "pNUMA" odnosi się do fizycznej domeny NUMA, a termin "vNUMA" odnosi się do zwirtualizowanej domeny NUMA.

Fizycznie serwer z serii HB to 2 * 32-rdzeniowe procesory CPU EPYC 7551 dla łącznie 64 rdzeni fizycznych. Te 64 rdzenie są podzielone na 16 domen pNUMA (8 na gniazdo), z których każdy ma cztery rdzenie i jest nazywany "złożonym procesorem CPU" (lub "CCX"). Każdy język CCX ma własną pamięć podręczną L3, czyli sposób, w jaki system operacyjny zobaczy granicę pNUMA/vNUMA. Para sąsiadujących dysków CCX udostępnia dwa kanały fizycznej pamięci DRAM (32 GB pamięci DRAM na serwerach z serii HB).

Aby zapewnić miejsce na działanie funkcji hypervisor platformy Azure bez zakłócania działania maszyny wirtualnej, rezerwujmy fizyczną domenę pNUMA 0 (pierwszy CCX). Następnie przypiszemy domeny pNUMA 1–15 (pozostałe jednostki CCX) dla maszyny wirtualnej. Maszyna wirtualna zobaczy:

(15 vNUMA domains) * (4 cores/vNUMA) = 60 rdzenie na maszynę wirtualną

Sama maszyna wirtualna nie wie, że nie podano jej liczby pNUMA 0. Maszyna wirtualna rozumie pNUMA 1–15 jako vNUMA 0–14, z 7 vNUMA w vSocket 0 i 8 vNUMA w vSocket 1. Chociaż jest to asymetryczne, system operacyjny powinien zostać uruchomiony i działać normalnie. W dalszej części tego przewodnika poinstruujemy, jak najlepiej uruchamiać aplikacje MPI w tym asymetrycznym układzie NUMA.

Przypinanie procesów będzie działać na maszynach wirtualnych z serii HB, ponieważ na maszynie wirtualnej gościa zostanie uwidoczniona podstawowa wersja krzemu. Zdecydowanie zalecamy przypinanie procesów w celu uzyskania optymalnej wydajności i spójności.

Na poniższym diagramie przedstawiono podział rdzeni zarezerwowanych dla funkcji Hypervisor platformy Azure i maszyny wirtualnej z serii HB.

Podział rdzeni zarezerwowanych dla funkcji Hypervisor platformy Azure i maszyny wirtualnej z serii HB

Specyfikacje sprzętowe

Specyfikacje sprzętu Maszyna wirtualna z serii HB
Rdzenie 60 (wyłączono smt)
Procesor CPU AMD EPYC 7551
Częstotliwość procesora CPU (bez AVX) Ok. 2,55 GHz (pojedynczy i wszystkie rdzenie)
Pamięć 4 GB/rdzeń (łącznie 240 GB)
Dysk lokalny 700 GB dysków SSD
Infiniband 100 Gb EDR Mellanox ConnectX-5
Sieć Karta SmartNIC drugiej generacji platformy Azure o pojemności 50 Gb Ethernet (40 Gb do wykorzystania)

Specyfikacje oprogramowania

Specyfikacje oprogramowania Maszyna wirtualna z serii HB
Maksymalny rozmiar zadania MPI 18 000 rdzeni (300 maszyn wirtualnych w jednym zestawie skalowania maszyn wirtualnych z singlePlacementGroup=true)
Obsługa mpi HPC-X, Intel MPI, OpenMPI, MVAPICH2, MPICH, Platform MPI
Dodatkowe struktury UCX, libfabric, PGAS
Pomoc techniczna Storage Azure Dyski standardowe i Premium (maksymalnie 4 dyski)
Obsługa systemu operacyjnego dla RDMAOVOV CentOS/RHEL 7.6+, Ubuntu 16.04+, SLES 12 SP4+, WinServer 2016+
Obsługa orkiestratora CycleCloud, Batch, AKS; opcje konfiguracji klastra

Następne kroki