Konfigurieren und Optimieren von virtuellen Computern
Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen ✔️ Einheitliche Skalierungsgruppen
In diesem Artikel finden Sie einen Leitfaden zum Konfigurieren und Optimieren der InfiniBand-fähigen VMs der HB-Serie und der N-Serie für HPC.
Auf InfiniBand-fähigen (IB) VMs sind die entsprechenden IB-Treiber erforderlich, um RDMA zu aktivieren.
- Die Ubuntu-HPC-VM-Images im Marketplace werden mit den entsprechenden IB- und GPU-Treibern von NVIDIA vorkonfiguriert bereitgestellt.
- Die AlmaLinux-HPC-VM-Images im Marketplace werden mit den entsprechenden IB- und GPU-Treibern von NVIDIA vorkonfiguriert bereitgestellt.
Diese VM-Images basieren auf den Marketplace-VM-Images mit Ubuntu bzw. AlmaLinux. Skripts, die bei der Erstellung dieser VM-Images aus ihren Basisimages im Marketplace verwendet werden, finden Sie im Repository azhpc-images.
Bei GPU-fähigen VMs der N-Serie sind zusätzlich die entsprechenden GPU-Treiber erforderlich. Diese können mit den folgenden Methoden verfügbar gemacht werden:
- Verwenden Sie die Ubuntu-HPC-VM-Images und AlmaLinux-HPC VM-Images, in denen die NVIDIA-GPU-Treiber und der GPU-Computesoftwarestapel (CUDA, NCCL) bereits vorkonfiguriert sind.
- Fügen Sie die GPU-Treiber über VM-Erweiterungen hinzu.
- Installieren Sie die GPU-Treiber manuell.
- Bei einigen VM-Images in Marketplace (einschließlich einiger VM-Images von NVIDIA) sind die NVIDIA-GPU-Treiber bereits vorinstalliert.
Abhängig von den Anforderungen an die Linux-Distribution und -Version der Workloads stellen die Ubuntu-HPC-VM-Images und AlmaLinux-HPC-VM-Images im Marketplace die einfachste Möglichkeit für den Einstieg in HPC- und KI-Workloads in Azure dar. Es wird außerdem empfohlen, benutzerdefinierte VM-Images mit workloadspezifischen Anpassungen und Konfigurationen zur Wiederverwendung zu erstellen.
Die neuesten HPC-Marketplace-Images von Azure bieten Mellanox OFED 5.1 und höher. Diese Images unterstützen keine ConnectX-3 Pro-InfiniBand-Karten. ConnectX-3 Pro InfiniBand-Karten erfordern MOFED LTS-Version 4.9. Sie unterstützen nur InfiniBand-Karten mit ConnextX-5 und höher. Daraus ergibt sich die folgende Unterstützungsmatrix für VM-Größen bei InfiniBand OFED in diesen HPC-VM-Images:
Derzeit sind nur die Ubuntu-HPC-VM-Images und die AlmaLinux-HPC VM-Images mit den NVIDIA-GPU-Treibern und dem GPU-Computesoftwarestapel (CUDA, NCCL) vorkonfiguriert.
Die Unterstützungsmatrix für die VM-Größe für die GPU-Treiber in unterstützten HPC-VM-Images lautet wie folgt:
- N-Serie: Die VM-Größen NDv2 und NDv4 werden mit den NVIDIA-GPU-Treibern und dem GPU-Computesoftwarestapel (CUDA, NCCL) unterstützt.
- Die anderen VM-Größen „NC“ und „ND“ der N-Serie werden mit den NVIDIA-GPU-Treibern unterstützt.
Alle VM-Größen der N-Serie unterstützen Gen2-VMs, obwohl einige ältere auch Gen1-VMs unterstützen. Die Unterstützung für Gen2 wird auch mit „01“ am Ende des Image-URN oder der Version angegeben.
Für SR-IOV- und RDMA-fähige VMs sind Ubuntu-HPC-VM-Images der Versionen 18.04, 20.04 und 22.04 geeignet. Diese VM-Images sind mit den Mellanox OFED-Treibern für RDMA, den NVIDIA-GPU-Treibern, dem GPU-Computesoftwarestapel (CUDA, NCCL) sowie den gängigen MPI-Bibliotheken und Paketen für wissenschaftliche Berechnungen vorkonfiguriert. Weitere Informationen finden Sie in der Unterstützungsmatrix für die VM-Größe.
Sie können die verfügbaren oder neuesten Versionen der VM-Images über die Befehlszeilenschnittstelle oder im Marketplace mit den folgenden Informationen auflisten.
"publisher": "Microsoft-DSVM", "offer": "Ubuntu-HPC",
Skripts, die bei der Erstellung der Ubuntu-HPC-VM-Images aus einem Ubuntu-Basisimage aus dem Marketplace verwendet werden, befinden sich im Repository azhpc-images.
Für SR-IOV- und RDMA-fähige VMs sind AlmaLinux-HPC-VM-Images der Versionen 8.5, 8.6 und 8.7 geeignet. Diese VM-Images sind mit den Mellanox OFED-Treibern für RDMA, den NVIDIA-GPU-Treibern, dem GPU-Computesoftwarestapel (CUDA, NCCL) sowie den gängigen MPI-Bibliotheken und Paketen für wissenschaftliche Berechnungen vorkonfiguriert. Weitere Informationen finden Sie in der Unterstützungsmatrix für die VM-Größe.
Sie können die verfügbaren oder neuesten Versionen der VM-Images über die Befehlszeilenschnittstelle oder im Marketplace mit den folgenden Informationen auflisten.
"publisher": "AlmaLinux", "offer": "AlmaLinux-HPC",
Skripts, die bei der Erstellung der AlmaLinux-HPC-VM-Images aus einem AlmaLinux-Basisimage aus dem Marketplace verwendet werden, befinden sich im Repository „azhpc-images“.
Weitere Einzelheiten zum Funktionsumfang und zur Bereitstellung der Ubuntu-HPC-VM-Images und der AlmaLinux-HPC-VM-Images finden Sie in Azure HPC VM Images.
Die RHEL-basierten VM-Basisimages ohne HPC im Marketplace können für die Verwendung auf RDMA-fähigen VMs mit aktivierter E/A-Virtualisierung mit Einzelstamm konfiguriert werden. Informieren Sie sich ausführlicher über die Aktivierung von InfiniBand und MPI-Einrichtung auf den VMs.
Die VM-Basisimages mit Ubuntu Server 20.04 LTS und 22.04 LTS im Marketplace werden für RDMA-fähige VMs mit und ohne SR-IOV unterstützt. Informieren Sie sich ausführlicher über die Aktivierung von InfiniBand und MPI-Einrichtung auf den VMs.
- Anweisungen zur Aktivierung von InfiniBand in den Ubuntu-VM-Images finden Sie in einem TechCommunity-Artikel.
Hinweis
Ab Mellanox OFED 5.1 werden keine ConnectX3-Pro-InfiniBand-Karten auf für SR-IOV aktivierten VM-Größen der N-Serie mit FDR-InfiniBand (z. B. NCv3) unterstützt. Verwenden Sie LTS Mellanox OFED ab Version 4.9-0.1.7.0 auf den VMs der N-Serie mit ConnectX3-Pro-Karten. Weitere Informationen finden Sie unter Linux InfiniBand-Treiber.
SLES 12 SP3 for HPC-, SLES 12 SP3 for HPC (Premium)-, SLES 12 SP1 for HPC-, SLES 12 SP1 for HPC (Premium)-, SLES 12 SP4- und SLES 15-VM-Images im Marketplace werden unterstützt. Bei diesen VM-Images sind die Network Direct-Treiber für RDMA (bei VM-Größen ohne SR-IOV) und Intel MPI, Version 5.1 vorab geladen. Informieren Sie sich über das Einrichten von MPI auf den VMs.
Im folgenden finden Sie einige optionale Optimierungseinstellungen für eine verbesserte Leistung des virtuellen Computers.
Sofern für Funktionalität oder Leistung erforderlich, können LIS-Treiber (Linux Integration Services) auf unterstützten Betriebssystemdistributionen installiert oder aktualisiert werden. Dies gilt insbesondere für die Bereitstellung mit einem benutzerdefinierten Image oder einer älteren Betriebssystemversion wie RHEL 6.x oder einer früheren Version von 7.x.
wget https://aka.ms/lis
tar xzf lis
pushd LISISO
sudo ./upgrade.sh
Steigern Sie die Leistung durch die automatische Freigabe von Arbeitsspeicher, um den Remotezugriff auf den Speicher zu vermeiden.
sudo echo 1 >/proc/sys/vm/zone_reclaim_mode
Behalten Sie den Modus „Arbeitsspeicher freigeben“ auch nach einem Neustart der VM dauerhaft bei:
sudo echo "vm.zone_reclaim_mode = 1" >> /etc/sysctl.conf sysctl -p
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
sudo service cpupower status
Wenn es aktiviert ist, deaktivieren Sie es:
sudo service cpupower stop
sudo systemctl disable cpupower
sudo sed -i -e 's/# OS.EnableRDMA=y/OS.EnableRDMA=y/g' /etc/waagent.conf
Optional kann der WALinuxAgent vor der Ausführung eines Auftrags deaktiviert und nach Abschluss des Auftrags aktiviert werden, um maximale Verfügbarkeit der VM-Ressourcen für die HPC-Workload zu gewährleisten.
- Erfahren Sie mehr über die InfiniBand-Aktivierung auf InfiniBand-fähigen VMs der HB-Serie und der N-Serie.
- Erfahren Sie mehr über das Installieren und Ausführen verschiedener unterstützter MPI-Bibliotheken auf den VMs.
- Weitere Informationen finden Sie in der Übersicht über virtuelle Computer der HBv3-Serie und in der Übersicht über virtuelle Computer der HC-Serie.
- Informieren Sie sich über die neuesten Ankündigungen, HPC-Workloadbeispiele und Leistungsergebnisse in den Tech Community-Blogs zu Azure Compute.
- Eine allgemeinere Übersicht über die Architektur für die Ausführung von HPC-Workloads finden Sie unter High Performance Computing (HPC) in Azure.