Konfigurowanie i optymalizowanie maszyn wirtualnych

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

W tym artykule przedstawiono wskazówki dotyczące konfigurowania i optymalizowania maszyn wirtualnych z serii HB i N serii InfiniBand dla hpC.

Obrazy maszyn wirtualnych

Na maszynach wirtualnych z włączoną funkcją InfiniBand (IB) wymagane są odpowiednie sterowniki IB w celu włączenia funkcji RDMA.

  • Obrazy maszyn wirtualnych z systemem Ubuntu-HPC w witrynie Marketplace są wstępnie skonfigurowane z odpowiednimi sterownikami IB firmy NVIDIA i sterownikami procesora GPU.
  • Obrazy maszyn wirtualnych AlmaLinux-HPC w witrynie Marketplace są wstępnie skonfigurowane z odpowiednimi sterownikami IB firmy NVIDIA i sterownikami procesorów GPU.

Te obrazy maszyn wirtualnych są oparte na podstawowych obrazach maszyn wirtualnych z systemem Ubuntu i AlmaLinux. Skrypty używane podczas tworzenia tych obrazów maszyn wirtualnych z ich podstawowych obrazów na platformie handlowej znajdują się w repozytorium azhpc-images.

W przypadku maszyn wirtualnych serii N z obsługą procesora GPU wymagane są również odpowiednie sterowniki procesora GPU. Można to uzyskać za pomocą następujących metod:

  • Użyj obrazów maszyn wirtualnych z systemem Ubuntu-HPC lub obrazów maszyn wirtualnych AlmaLinux-HPC, które są wstępnie skonfigurowane za pomocą sterowników procesora GPU FIRMY NVIDIA i stosu oprogramowania obliczeniowego procesora GPU (CUDA, NCCL).
  • Dodaj sterowniki procesora GPU za pomocą rozszerzeń maszyn wirtualnych.
  • Ręczne instalowanie sterowników procesora GPU.
  • Niektóre inne obrazy maszyn wirtualnych w witrynie Marketplace są również wstępnie zainstalowane ze sterownikami procesora GPU FIRMY NVIDIA, w tym niektóre obrazy maszyn wirtualnych firmy NVIDIA.

W zależności od potrzeb dystrybucji i wersji systemu Linux obciążeń obrazy maszyn wirtualnych z systemem Ubuntu-HPC i obrazy maszyn wirtualnych AlmaLinux-HPC w witrynie Marketplace są najprostszym sposobem rozpoczęcia pracy z obciążeniami HPC i sztucznej inteligencji na platformie Azure. Zaleca się również tworzenie niestandardowych obrazów maszyn wirtualnych z dostosowaniem i konfiguracją obciążenia w celu ponownego użycia.

Rozmiary maszyn wirtualnych obsługiwane przez obrazy maszyn wirtualnych HPC

Obsługa funkcji InfiniBand OFED

Najnowsze obrazy witryny Azure HPC marketplace są dostarczane z rozwiązaniem Mellanox OFED 5.1 lub nowszym, które nie obsługują kart Połączenie X3-Pro InfiniBand. Połączenie X-3 Pro InfiniBand karty wymagają wersji MOFED 4.9 LTS. Te obrazy maszyn wirtualnych obsługują tylko karty ConnextX-5 i nowsze InfiniBand. Poniższa macierz obsługi rozmiaru maszyny wirtualnej infiniBand OFED na tych obrazach maszyn wirtualnych HPC:

  • Seria HB: HB, HC, HBv2, HBv3, HBv4
  • Seria N: NDv2, NDv4

Obsługa sterowników procesora GPU

Obecnie tylko obrazy maszyn wirtualnych Ubuntu-HPC i AlmaLinux-HPC są wstępnie skonfigurowane za pomocą sterowników procesora GPU FIRMY NVIDIA i stosu oprogramowania obliczeniowego procesora GPU (CUDA, NCCL).

Macierz obsługi rozmiaru maszyny wirtualnej dla sterowników procesora GPU w obsługiwanych obrazach maszyn wirtualnych HPC jest następująca:

  • Seria N: NDv2, rozmiary maszyn wirtualnych NDv4 są obsługiwane z sterownikami procesora GPU FIRMY NVIDIA i stosem oprogramowania obliczeniowego procesora GPU (CUDA, NCCL).
  • Pozostałe rozmiary maszyn wirtualnych "NC" i "ND" w serii N są obsługiwane przez sterowniki procesora GPU FIRMY NVIDIA.

Wszystkie rozmiary maszyn wirtualnych w serii N obsługują maszyny wirtualne 2. generacji, ale niektóre starsze obsługują również maszyny wirtualne 1. generacji. Obsługa 2. generacji jest również wskazywana z wartością "01" na końcu nazwy URN lub wersji obrazu.

Maszyny wirtualne z obsługą funkcji SR-IOV

Obrazy maszyn wirtualnych z systemem Ubuntu-HPC

W przypadku maszyn wirtualnych obsługujących funkcję RDMA z obsługą funkcji SR-IOV obrazy maszyn wirtualnych z systemem Ubuntu-HPC w wersji 18.04, 20.04 i 22.04 są odpowiednie. Te obrazy maszyn wirtualnych są wstępnie skonfigurowane ze sterownikami Mellanox OFED dla sterowników RDMA, sterowników procesorów GPU FIRMY NVIDIA, stosu oprogramowania obliczeniowego procesora GPU (CUDA, NCCL) oraz często używanych bibliotek MPI i pakietów obliczeń naukowych. Zapoznaj się z macierzą obsługi rozmiaru maszyny wirtualnej.

  • Dostępne lub najnowsze wersje obrazów maszyn wirtualnych można wymienić na poniższe informacje przy użyciu interfejsu wiersza polecenia lub witryny Marketplace.

    "publisher": "Microsoft-DSVM",
    "offer": "Ubuntu-HPC",
    
  • Skrypty używane podczas tworzenia obrazów maszyn wirtualnych z systemem Ubuntu-HPC z podstawowego obrazu witryny Ubuntu Marketplace znajdują się w repozytorium azhpc-images.

Obrazy maszyn wirtualnych AlmaLinux-HPC

W przypadku maszyn wirtualnych obsługujących funkcję RDMA z obsługą funkcji SR-IOV obrazy maszyn wirtualnych AlmaLinux-HPC w wersji 8.5, 8.6 i 8.7 są odpowiednie. Te obrazy maszyn wirtualnych są wstępnie skonfigurowane ze sterownikami Mellanox OFED dla sterowników RDMA, sterowników procesorów GPU FIRMY NVIDIA, stosu oprogramowania obliczeniowego procesora GPU (CUDA, NCCL) oraz często używanych bibliotek MPI i pakietów obliczeń naukowych. Zapoznaj się z macierzą obsługi rozmiaru maszyny wirtualnej.

  • Dostępne lub najnowsze wersje obrazów maszyn wirtualnych można wymienić na poniższe informacje przy użyciu interfejsu wiersza polecenia lub witryny Marketplace.

    "publisher": "AlmaLinux",
    "offer": "AlmaLinux-HPC",
    
  • Skrypty używane podczas tworzenia obrazów maszyn wirtualnych AlmaLinux-HPC z podstawowego obrazu witryny AlmaLinux Marketplace znajdują się w repozytorium azhpc-images.

Ponadto szczegółowe informacje na temat elementów zawartych w obrazach maszyn wirtualnych z systemem Ubuntu-HPC i obrazach maszyn wirtualnych AlmaLinux-HPC oraz o tym, jak je wdrożyć, znajdują się w artykule TechCommunity.

Uwaga

Użyliśmy obsługi obrazów maszyn wirtualnych CentOS-HPC. Ze względu na wycofanie z systemu CentOS (obecnie jedyna obsługiwana wersja CentOS 7 będzie nadal otrzymywać poprawki zabezpieczeń społeczności i aktualizacje poprawek usterek do czerwca 2024 r.), nie publikujemy żadnych nowych obrazów CentOS HPC w witrynie Azure Marketplace. Użytkownicy centOS/RHEL są sugerowani, aby użyć naszych alternatyw obrazów AlmaLinux-HPC w witrynie Azure Marketplace, które mają ten sam zestaw sterowników zainstalowanych jako inne obrazy HPC.

Obrazy maszyn wirtualnych RHEL/CentOS

Podstawowe obrazy maszyn wirtualnych nienależących do obliczeń HPC lub CentOS w witrynie Marketplace można skonfigurować do użycia na maszynach wirtualnych z obsługą funkcji RDMA z włączoną funkcją SR-IOV. Dowiedz się więcej na temat włączania funkcji InfiniBand i konfigurowania interfejsu MPI na maszynach wirtualnych.

Obrazy maszyn wirtualnych z systemem Ubuntu

Podstawowe obrazy maszyn wirtualnych z systemem Ubuntu Server 20.04 LTS i 22.04 LTS w witrynie Marketplace są obsługiwane zarówno dla maszyn wirtualnych obsługujących funkcję SR-IOV, jak i innych niż SR-IOV RDMA. Dowiedz się więcej na temat włączania funkcji InfiniBand i konfigurowania interfejsu MPI na maszynach wirtualnych.

  • Instrukcje dotyczące włączania rozwiązania InfiniBand na obrazach maszyn wirtualnych z systemem Ubuntu znajdują się w artykule TechCommunity.

Uwaga

System Mellanox OFED 5.1 lub nowszy nie obsługuje kart Połączenie X3-Pro InfiniBand w rozmiarach maszyn wirtualnych serii N z obsługą sr-IOV z funkcją FDR InfiniBand (np. NCv3). Użyj ltS Mellanox OFED w wersji 4.9-0.1.7.0 lub starszej na maszynach wirtualnych serii N z kartami Połączenie X3-Pro. Aby uzyskać więcej informacji, zobacz Sterowniki InfiniBand systemu Linux.

Obrazy maszyn wirtualnych systemu SUSE Linux Enterprise Server

Obsługiwane są obrazy SLES 12 SP3 dla HPC, SLES 12 SP3 dla HPC (Premium), SLES 12 SP1 dla HPC, SLES 12 SP1 dla HPC (Premium), SLES 12 SP4 i SLES 15 maszyn wirtualnych w witrynie Marketplace. Te obrazy maszyn wirtualnych są wstępnie ładowane za pomocą sterowników bezpośrednich sieci dla funkcji RDMA (w rozmiarach maszyn wirtualnych innych niż SR-IOV) i intel MPI w wersji 5.1. Dowiedz się więcej o konfigurowaniu interfejsu MPI na maszynach wirtualnych.

Optymalizowanie maszyn wirtualnych

Poniżej przedstawiono niektóre opcjonalne ustawienia optymalizacji w celu zwiększenia wydajności maszyny wirtualnej.

Aktualizowanie lis

W razie potrzeby w celu zapewnienia funkcjonalności lub wydajności można zainstalować lub zaktualizować sterowniki usług Linux Integration Services (LIS) w obsługiwanych dystrybucjach systemu operacyjnego, szczególnie jest wdrażane przy użyciu obrazu niestandardowego lub starszej wersji systemu operacyjnego, takiej jak CentOS/RHEL 6.x lub starszej wersji 7.x.

wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh

Odzyskiwanie pamięci

Zwiększ wydajność dzięki automatycznemu odzyskiwaniu pamięci, aby uniknąć zdalnego dostępu do pamięci.

sudo echo 1 >/proc/sys/vm/zone_reclaim_mode

Zachowaj trwały tryb odzyskiwania pamięci po ponownym uruchomieniu maszyny wirtualnej:

sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p

Wyłączanie zapory i selinux

sudo systemctl stop iptables.service
sudo systemctl disable iptables.service
sudo systemctl mask firewalld
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
sudo iptables -nL
sudo sed -i -e's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Wyłączanie mocy procesora CPU

sudo service cpupower status

Jeśli ta opcja jest włączona, wyłącz ją:

sudo service cpupower stop
sudo systemctl disable cpupower

Konfigurowanie programu WALinuxAgent

sudo sed -i -e 's/# OS.EnableRDMA=y/OS.EnableRDMA=y/g' /etc/waagent.conf

Opcjonalnie agent WALinuxAgent może zostać wyłączony przed uruchomieniem zadania, a następnie włączony po zadaniu w celu zapewnienia maksymalnej dostępności zasobów maszyny wirtualnej do obciążenia HPC.

Następne kroki