Freigeben über


High Performance Computing (HPC) in Azure

Einführung in HPC

High Performance Computing (HPC) wird auch als „Big Compute“ bezeichnet und nutzt eine große Anzahl von CPU- oder GPU-basierte Computern, um komplexe mathematische Aufgaben zu lösen.

HPC wird in vielen Branchen zur Lösung besonders anspruchsvoller Aufgabenstellungen eingesetzt. Beispiele für Workloads wären etwa:

  • Genomik
  • Simulationen für Öl- und Gasunternehmen
  • Finanzen
  • Halbleiterdesign
  • Entwicklung
  • Wettermodelle

Was zeichnet HPC in der Cloud aus?

Einer der Hauptunterschiede zwischen einem lokalen HPC-System und einem HPC-System in der Cloud besteht darin, dass Ressourcen dynamisch nach Bedarf hinzugefügt und entfernt werden können. Dank der dynamischen Skalierung ist die Computekapazität kein Engpass mehr, und Kunden können ihre Infrastruktur optimal auf die Anforderungen ihrer jeweiligen Aufgaben abstimmen.

Weitere Informationen zur dynamischen Skalierung finden Sie in den folgenden Artikeln:

Checkliste für die Implementierung

Beschäftigen Sie sich zunächst mit folgenden Aspekten, bevor Sie Ihre eigene HPC-Lösung in Azure implementieren:

  • Wählen Sie die geeignete Architektur basierend auf Ihren Anforderungen aus.
  • Ermitteln Sie, welche Computeoptionen für Ihre Arbeitslast geeignet sind
  • Identifizieren der richtigen Speicherlösung , die Ihren Anforderungen entspricht
  • Entscheiden, wie Sie alle Ihre Ressourcen verwalten möchten
  • Optimieren Ihrer Anwendung für die Cloud
  • Sichern Sie Ihre Infrastruktur

Infrastruktur

Es gibt viele Infrastrukturkomponenten, die zum Erstellen eines HPC-Systems erforderlich sind. Compute, Speicher und Netzwerk werden immer benötigt – ganz gleich, wie Sie Ihre HPC-Workloads verwalten möchten.

Berechnen

Azure bietet eine Reihe von Größen, die sowohl für CPU- als auch für GPU-intensive Workloads optimiert sind.

CPU-basierte virtuelle Computer

GPU-fähige virtuelle Computer

Virtuelle Computer der N-Serie verfügen über NVIDIA-GPUs für rechen- oder grafikintensive Anwendungen wie KI-Lernen und Visualisierung.

Lagerung

Herkömmliche Clouddateisysteme sind den Anforderungen, die umfangreiche Batch- und HPC-Workloads in puncto Datenspeicherung und -zugriff haben, nicht gewachsen. Es gibt viele Lösungen, die sowohl die Geschwindigkeits- als auch die Kapazitätsanforderungen von HPC-Anwendungen in Azure erfüllen:

Weitere Informationen zum Vergleich von Lustre, GlusterFS und BeeGFS auf Azure finden Sie im Azure-E-Book " Parallel Files Systems " und im Azure-Blog Lustre .

Netzwerk

Virtuelle Computer vom Typ „H16r“, „H16mr“, „A8“ und „A9“ können beispielsweise eine Verbindung mit einem Back-End-RDMA-Netzwerk mit hohem Durchsatz herstellen. Dieses Netzwerk kann die Leistung eng gekoppelter paralleler Anwendungen unter Microsoft Message Passing Interface (auch als MPI bekannt) oder Intel MPI verbessern.

Verwaltung

Eigenständig

Ein von Grund auf neu erstelltes HPC-System in Azure bietet zwar ein hohes Maß an Flexibilität, bringt aber häufig einen hohen Wartungsaufwand mit sich.

  1. Richten Sie Ihre eigene Clusterumgebung in virtuellen Azure-Computern oder Vm Scale Sets ein.
  2. Verwenden Sie Azure Resource Manager-Vorlagen, um führende Workload-Manager, Infrastruktur und Anwendungen bereitzustellen.
  3. Wählen Sie HPC- und GPU-VM-Größen aus, die spezielle Hardware- und Netzwerkverbindungen für MPI- oder GPU-Workloads enthalten.
  4. Fügen Sie leistungsstarken Speicher für I/O-intensive Workloads hinzu.

Hybridlösung und Cloudbursting

Falls Sie bereits über ein lokales HPC-System verfügen, das Sie mit Azure verknüpfen möchten, steht Ihnen mehrere Ressourcen zur Verfügung, die Sie bei den ersten Schritten unterstützen.

Lesen Sie zunächst die Optionen zum Verbinden eines lokalen Netzwerks mit Azure in der Dokumentation. Von dort aus finden Sie weitere Informationen zu diesen Konnektivitätsoptionen:

Sobald die Netzwerkkonnektivität sicher eingerichtet wurde, können Sie mit der Nutzung von Cloud-Computing-Ressourcen bei Bedarf mit den Burst-Funktionen Ihres vorhandenen Workload-Managers beginnen.

Marketplace-Lösungen

Es gibt viele Workload-Manager, die im Azure Marketplace angeboten werden.

Azure Batch

Azure Batch ist ein Plattformdienst für die effiziente Ausführung von groß angelegten parallelen und HPC-Anwendungen in der Cloud. Azure Batch plant die Ausführung rechenintensiver Aufgaben mit einem verwalteten Pool virtueller Computer und kann Computeressourcen automatisch skalieren, um den Anforderungen Ihrer Aufträge gerecht zu werden.

SaaS-Anbieter oder Entwickler können die Batch-SDKs und -Tools verwenden, um HPC-Anwendungen oder Containerworkloads in Azure zu integrieren, Daten in Azure bereitzustellen und Pipelines für die Auftragsausführung zu erstellen.

In Azure Batch werden alle Dienste in der Cloud ausgeführt werden. Die folgende Abbildung zeigt, wie die Architektur mit Azure Batch aussieht. Die Konfigurationen für Skalierbarkeit und Auftragszeitpläne werden in der Cloud ausgeführt, während die Ergebnisse und Berichte an Ihre lokale Umgebung gesendet werden können.

Das Diagramm zeigt beispiel für die HPC-Architektur für Azure Batch.

Azure CycleCloud

Azure CycleCloud Bietet die einfachste Möglichkeit zum Verwalten von HPC-Workloads mithilfe eines beliebigen Zeitplans (z. B. Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro oder Symphony) in Azure

CycleCloud ermöglicht Folgendes:

  • Stellen Sie vollständige Cluster und andere Ressourcen bereit (einschließlich Planer, Compute-VMs, Speicher, Netzwerk und Cache).
  • Orchestrieren Sie Workflows für Aufträge, Daten und die Cloud.
  • Geben Sie Administratoren die vollständige Kontrolle darüber, wer wann und zu welchem Preis Aufträge ausführen darf.
  • Nutzen Sie erweiterte Richtlinien- und Governancefeatures (einschließlich Kostenkontrolle, Active Directory-Integration, Überwachung und Berichterstellung), um Cluster anzupassen und zu optimieren.
  • Verwenden Sie Ihren aktuellen Aufgabenplaner und Ihre vertrauten Anwendungen, ohne diese anpassen zu müssen.
  • Profitieren Sie von der integrierten automatischen Skalierung sowie von bewährten Referenzarchitekturen für unterschiedlichste HPC-Workloads und Branchen.
Hybrid-/Cloudbursting-Modell

In diesem Beispieldiagramm für eine Hybridlösung können wir genau sehen, wie diese Dienste zwischen der Cloud und der lokalen Umgebung verteilt sind. Es besteht die Möglichkeit, Aufträge in beiden Workloads auszuführen. Diagramm zeigt ein Beispiel für HPC-Architektur für CycleCloud auf Azure in einer hybriden Umgebung.

Cloudnatives Modell

Das folgende Beispieldiagramm des cloudnativen Modells zeigt, wie die Workload in der Cloud die gesamte Verarbeitung übernimmt, während die Verbindung mit der lokalen Umgebung beibehalten wird.

Diagramm zeigt beispiel für HPC-Architektur für CycleCloud in Azure im nativen Cloudmodell .

Vergleichsdiagramm

Funktion Azure Batch Azure CycleCloud
Zeitplaner Batch-APIs und -Tools sowie Befehlszeilenskripts im Azure-Portal (cloudnativ). Verwenden Sie HPC-Standardplaner wie Slurm, PBS Pro, LSF, Grid Engine und HTCondor, oder erweitern Sie CycleCloud-Plug-Ins für die automatische Skalierung, um mit Ihrem eigenen Planer zu arbeiten.
Computeressourcen Software-as-a-Service-Knoten – Platform-as-a-Service Platform-as-a-Service-Software – Platform-as-a-Service
Überwachungstools Azure Monitor Azure Monitor, Grafana
Anpassung Benutzerdefinierte Imagepools, Images von Drittanbietern, Batch-API-Zugriff. Verwenden Sie die umfassende RESTful-API zum Anpassen und Erweitern der Funktionalität, stellen Sie einen eigenen Planer bereit, und unterstützen Sie vorhandene Workload-Manager.
Einbindung Synapse-Pipelines, Azure Data Factory, Azure CLI Integrierte CLI für Windows und Linux
Benutzertyp Entwickler Klassische HPC-Administrator*innen und -Benutzer*innen
Arbeitstyp Stapelverarbeitung, Arbeitsabläufe Eng gekoppelt (Message Passing Interface/MPI).
Windows-Unterstützung Ja Variiert je nach Planerauswahl

Workload-Manager

Unten sind Beispiele für Cluster- und Workload-Manager angegeben, die in der Azure-Infrastruktur ausgeführt werden können. Erstellen Sie eigenständige Cluster auf Azure-VMs, oder führen Sie aus einem lokalen Cluster einen Burst-Vorgang auf Azure-VMs durch.

Container

Einige HPC-Workloads können auch mithilfe von Containern verwaltet werden. Mit Diensten wie Azure Kubernetes Service (AKS) können Sie ganz einfach einen verwalteten Kubernetes-Cluster in Azure bereitstellen.

Kostenverwaltung

Für die Verwaltung Ihrer HPC-Kosten in Azure gibt es mehrere Möglichkeiten. Stellen Sie sicher, dass Sie die Azure-Einkaufsoptionen überprüft haben, um die Methode zu finden, die für Ihre Organisation am besten geeignet ist.

Sicherheit

Eine Übersicht über bewährte Methoden für die Sicherheit in Azure erfahren Sie in der Azure-Sicherheitsdokumentation.

Zusätzlich zu den im Abschnitt "Cloud Bursting " verfügbaren Netzwerkkonfigurationen können Sie eine Hub-/Spoke-Konfiguration implementieren, um Ihre Computeressourcen zu isolieren:

HPC-Anwendungen

Führen Sie benutzerdefinierte oder kommerzielle HPC-Anwendungen in Azure aus. Für mehrere Beispiele in diesem Abschnitt wurden Benchmarks erstellt, um eine effiziente Skalierung mit zusätzlichen virtuellen Computern oder Computekernen zu ermöglichen. Besuchen Sie den Azure Marketplace für ready-to-deploy-Lösungen.

Hinweis

Informieren Sie sich bei Verwendung kommerzieller Anwendungen beim jeweiligen Hersteller über lizenzbedingte oder anderweitige Einschränkungen für die Ausführung in der Cloud. Nicht alle Hersteller bieten ein nutzungsbasiertes Lizenzmodell an. Unter Umständen benötigen Sie für Ihre Lösung einen Lizenzserver in der Cloud oder eine Verbindung mit einem lokalen Lizenzserver.

Technische Anwendungen

Grafik und Rendering

KI und Deep Learning

MPI-Anbieter

Remotevisualisierung

Führen Sie GPU-basierte virtuelle Computer in Azure in der gleichen Region aus wie die HPC-Ausgabe, um eine möglichst geringe Wartezeit sowie Zugriff zu erhalten und die Remotevisualisierung über Azure Virtual Desktop zu ermöglichen.

Leistungsbenchmarks

Kundenstimmen

Azure wird bereits von zahlreichen Kund*innen mit großem Erfolg für HPC-Workloads verwendet. Im Anschluss finden Sie einige Kundenreferenzen:

Weitere wichtige Informationen

  • Stellen Sie sicher, dass Ihr vCPU-Kontingent erhöht wurde, bevor Sie versuchen, große Workloads auszuführen.

Nächste Schritte

Die neuesten Ankündigungen finden Sie in den folgenden Ressourcen:

Microsoft Batch-Beispiele

Die folgenden Tutorials enthalten ausführliche Informationen zum Ausführen von Anwendungen in Microsoft-Batch: