Konfigurowanie i optymalizowanie maszyn wirtualnych
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 ConnectX3-Pro InfiniBand. Karty ConnectX-3 Pro InfiniBand 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:
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 więcej szczegółów na temat elementów zawartych w obrazach maszyn wirtualnych z systemem Ubuntu-HPC i obrazach maszyn wirtualnych AlmaLinux-HPC oraz sposobach ich wdrażania znajdują się na obrazach maszyn wirtualnych HPC platformy Azure.
Obrazy maszyn wirtualnych systemu RHEL
Podstawowe obrazy maszyn wirtualnych nienależących do obliczeń HPC 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 ConnectX3-Pro InfiniBand w rozmiarach maszyn wirtualnych serii N z obsługą sr-IOV z funkcją FDR InfiniBand (np. NCv3). Użyj protokołu LTS Mellanox OFED w wersji 4.9-0.1.7.0 lub starszej na maszynach wirtualnych serii N z kartami ConnectX3-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 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
- Dowiedz się więcej o włączaniu rozwiązania InfiniBand na maszynach wirtualnych serii HB i N serii InfiniBand.
- Dowiedz się więcej na temat instalowania i uruchamiania różnych obsługiwanych bibliotek MPI na maszynach wirtualnych.
- Zapoznaj się z omówieniem serii HBv3 i omówieniem serii HC.
- Przeczytaj o najnowszych ogłoszeniach, przykładach obciążeń HPC i wynikach wydajności na blogach społeczności technicznej usługi Azure Compute.
- Aby uzyskać widok architektury wyższego poziomu na potrzeby uruchamiania obciążeń HPC, zobacz Obliczenia o wysokiej wydajności (HPC) na platformie Azure.