Omówienie maszyn wirtualnych z serii HB

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

Maksymalizacja wydajności aplikacji obliczeniowych o wysokiej wydajności (HPC) na procesorze AMD EPYC wymaga przemyślanego podejścia do lokalizacji pamięci i umieszczania procesów. Poniżej przedstawiono architekturę AMD EPYC i implementację jej na platformie Azure dla aplikacji HPC. Użyjemy terminu "pNUMA", aby odwołać się do fizycznej domeny NUMA i "vNUMA", aby odwołać się do zwirtualizowanej domeny NUMA.

Fizycznie serwer serii HB to 2 * 32-rdzeniowe procesory EPYC 7551 dla łącznie 64 rdzeni fizycznych. Te 64 rdzenie są podzielone na 16 domen pNUMA (8 na gniazdo), z których każdy jest cztery rdzenie i znany jako "kompleks procesora CPU" (lub "CCX"). Każda pamięć podręczna CCX ma własną pamięć podręczną L3, która w ten sposób system operacyjny będzie widzieć granicę pNUMA/vNUMA. Para sąsiednich udziałów CCXs ma dostęp do dwóch kanałów fizycznego DRAM (32 GB pamięci DRAM na serwerach serii HB).

Aby zapewnić miejsce na działanie funkcji hypervisor platformy Azure bez zakłócania działania maszyny wirtualnej, zastrzegamy sobie 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 architektura pNUMA 0 nie została do niej podana. Maszyna wirtualna rozumie wartość pNUMA 1-15 jako vNUMA 0-14 z 7 procesorami vNUMA w programie vSocket 0 i 8 vNUMA w programie vSocket 1. Chociaż jest to asymetryczne, system operacyjny powinien uruchamiać się 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 serii HB, ponieważ uwidaczniamy bazowy krzem jako maszynę wirtualną gościa. 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 serii HB.

Segregation of cores reserved for Azure Hypervisor and HB-series VM

Specyfikacje sprzętowe

Specyfikacje sprzętu Maszyna wirtualna serii HB
Rdzenie 60 (protokół SMT wyłączony)
Procesor CPU AMD EPYC 7551
Częstotliwość procesora CPU (inne niż AVX) ~2,55 GHz (jeden + wszystkie rdzenie)
Pamięć 4 GB/rdzeń (łącznie 240 GB)
Dysk lokalny 700 GB DYSKÓW SSD
Infiniband 100 Gb EDR Mellanox ConnectX-5
Sieć Sieć Ethernet 50 Gb (40 Gb do użycia) azure second Gen SmartNIC

Specyfikacje oprogramowania

Specyfikacje oprogramowania Maszyna wirtualna serii HB
Maksymalny rozmiar zadania MPI 18000 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 MPI
Dodatkowe struktury UCX, libfabric, PGAS
Obsługa usługi Azure Storage Dyski w warstwie Standardowa i Premium (maksymalnie 4 dyski)
Obsługa systemu operacyjnego DLA SRIOV RDMA CentOS/RHEL 7.6+, Ubuntu 16.04+, SLES 12 SP4+, WinServer 2016+
Obsługa programu Orchestrator CycleCloud, Batch, AKS; opcje konfiguracji klastra

Następne kroki