Omówienie maszyn wirtualnych z serii HB

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. 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 jest 2 * 32-rdzeniowy PROCESOR 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, w jaki sposób system operacyjny będzie widzieć granicę pNUMA/vNUMA. Para sąsiednich CCXs udostępnia 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 przypisujemy 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 pNUMA 0 nie została mu nadana. Maszyna wirtualna rozumie elementy pNUMA 1-15 jako vNUMA 0-14 z 7 vNUMA w 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 Azure Hypervisor i maszyny wirtualnej serii HB.

Segregacja rdzeni zarezerwowanych dla maszyn wirtualnych funkcji Hypervisor platformy Azure i maszyn wirtualnych serii HB

Specyfikacje sprzętowe

Specyfikacje sprzętu Maszyna wirtualna serii HB
Rdzenie 60 (wyłączono protokół SMT)
Procesor CPU AMD EPYC 7551
Częstotliwość procesora CPU (inne niż AVX) ~2,55 GHz (pojedynczy + wszystkie rdzenie)
Pamięć 4 GB/rdzeń (łącznie 240 GB)
Dysk lokalny 700 GB DYSKÓW SSD
Infiniband 100 Gb EDR Mellanox Połączenie X-5
Sieć Sieć Ethernet 50 Gb (40 Gb do użycia) druga karta sieciowa Azure 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 MPII
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 18.04+, SLES 15.4, WinServer 2016+
Obsługa programu Orchestrator CycleCloud, Batch, AKS; opcje konfiguracji klastra

Ważne

Ten dokument odwołuje się do wersji systemu Linux, która zbliża się lub znajduje się w końcu życia (EOL). Rozważ aktualizację do nowszej wersji.

Następne kroki