Konfigurieren und Optimieren von virtuellen Computern

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL) nähert. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS End-of-Life-Leitfaden.

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.

VM-Images

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.

Von HPC-VM-Images unterstützte VM-Größen

InfiniBand OFED-Unterstützung

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:

GPU-Treiberunterstützung

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.

SR-IOV unterstützende VMs

Ubuntu-HPC-VM-Images

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.

AlmaLinux-HPC-VM-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 diesem TechCommunity-Artikel.

Hinweis

CentOS-HPC-VM-Images wurden früher unterstützt. Da die Unterstützung für CentOS eingestellt wird (derzeit erhält CentOS 7 als einzige unterstützte Version bis Juni 2024 Communitysicherheitspatches und Fehlerbehebungsupdates), veröffentlichen wir keine neuen CentOS-HPC-Images im Azure Marketplace mehr. CentOS/RHEL-Benutzer*innen wird empfohlen, als Alternative die AlmaLinux-HPC-Images im Azure Marketplace zu verwenden, für die die gleichen Treiber wie für andere HPC-Images installiert sind.

RHEL/CentOS-VM-Images

Die RHEL- oder CentOS-basierten Nicht-HPC-VM-Basisimages im Marketplace können für die Verwendung auf SR-IOV-aktivierten, RDMA-fähigen VMs konfiguriert werden. Informieren Sie sich ausführlicher über die Aktivierung von InfiniBand und MPI-Einrichtung auf den VMs.

Ubuntu-VM-Images

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.

SUSE Linux Enterprise Server-VM-Images

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.

Optimieren von VMs

Im folgenden finden Sie einige optionale Optimierungseinstellungen für eine verbesserte Leistung des virtuellen Computers.

Aktualisieren von LIS

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 CentOS/RHEL 6.x oder einer früheren Version von 7.x.

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

Freigeben von Arbeitsspeicher

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

Deaktivieren von Firewall und 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

Deaktivieren von cpupower

sudo service cpupower status

Wenn es aktiviert ist, deaktivieren Sie es:

sudo service cpupower stop
sudo systemctl disable cpupower

Konfigurieren von WALinuxAgent

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.

Nächste Schritte