Freigeben über


High-Performance Computing (HPC) auf Azure

Einführung in HPC

High-Performance Computing (HPC), auch als big compute bezeichnet, verwendet eine große Anzahl von CPU- oder GPU-basierten 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:

  • Genomics
  • Simulationen für Öl- und Gasunternehmen
  • Finanzen
  • Halbleiterdesign
  • Ingenieurwesen
  • 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

Wenn Sie Ihre eigene HPC-Lösung auf Azure implementieren möchten, stellen Sie sicher, dass Sie die folgenden Themen überprüft haben:

  • 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.

Compute

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 auf Azure verwalten:

Weitere Informationen zum Vergleich von Lustre, GlusterFS und BeeGFS auf Azure finden Sie im E-Book zu Parallelen Dateisystemen auf Azure und im Blog zu Lustre auf Azure.

Vernetzung

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 verbessern, die unter Microsoft Message Pass Interface laufen, besser bekannt als MPI oder Intel MPI.

Verwaltung

Eigenständig

Das Erstellen eines HPC-Systems von Grund auf Azure bietet eine erhebliche Flexibilität, aber es ist oft sehr wartungsintensiv.

  1. Richten Sie Ihre eigene Clusterumgebung in Azure virtuellen Computern oder Virtual Machine Scale Sets ein.
  2. Verwenden Sie Azure Resource Manager Vorlagen, um führende Workload-Manager, Infrastruktur und applications 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

Wenn Sie über ein lokales HPC-System verfügen, das Sie mit Azure verbinden möchten, gibt es mehrere Ressourcen, die Ihnen bei den ersten Schritten helfen.

Lesen Sie zunächst den Artikel Options zum Verbinden eines lokalen Netzwerks mit Azure Artikel 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

Im Microsoft Marketplace gibt es viele Workload-Manager.

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 rechenintensive Arbeit für die Ausführung auf einem verwalteten Pool virtueller Computer und kann Computeressourcen automatisch skalieren, um die Anforderungen Ihrer Aufträge zu erfüllen.

SaaS-Anbieter oder Entwickler können die Batch-SDKs und -Tools verwenden, um HPC-Anwendungen oder Containerworkloads in Azure zu integrieren, Daten nach Azure zu übertragen und Auftragsausführungspipelines zu erstellen.

In Azure Batch werden alle Dienste in der Cloud ausgeführt. Die folgende Abbildung zeigt, wie die Architektur mit Azure Batch aussieht, wobei die Skalierbarkeits- und Auftragsplanungskonfigurationen in der Cloud ausgeführt werden, während die Ergebnisse und Berichte an Ihre lokale Umgebung gesendet werden können.

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 mit jedem Zeitplaner (z. B. Slurm, Grid Engine, HPC Pack, HTCondor, LSF, PBS Pro oder Symphony) auf 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.
  • Anpassung und Optimierung von Clustern durch erweiterte Richtlinien- und Governance-Features, einschließlich Kostenkontrollen, Überwachung, Active Directory-Integration und Berichterstellung.
  • 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 einer HPC-Architektur für CycleCloud auf Azure in einer Hybridumgebung.

Cloudnatives Modell

Das folgende Beispieldiagramm für ein systemeigenes Cloudmodell zeigt, wie die Workload in der Cloud alles verarbeitet, während gleichzeitig die Verbindung mit der lokalen Umgebung erhalten bleibt.

Diagramm zeigt beispiel für die HPC-Architektur für CycleCloud auf Azure in Cloud native model.

Vergleichsdiagramm

Funktion Azure Batch Azure CycleCloud
Scheduler Batch-APIs und -Tools und Befehlszeilenskripts im Azure-Portal (Cloud Native). 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.
Integration Data Factory in Microsoft Fabric, Azure Data Factory, Azure CLI Built-In CLI für Windows und Linux
Benutzertyp Entwickler Klassische HPC-Administrator*innen und -Benutzer*innen
Arbeitstyp Batch-Verarbeitung, Arbeitsabläufe Eng gekoppelt (Message Passing Interface/MPI).
Windows Support Ja Variiert je nach Planerauswahl

Workload-Manager

Im Folgenden finden Sie Beispiele für Cluster- und Workload-Manager, die in Azure Infrastruktur ausgeführt werden können. Erstellen Sie eigenständige Cluster in Azure-VMs oder erweitern Sie temporär die Kapazität eines lokalen Clusters zu Azure-VMs.

Behälter

Einige HPC-Workloads können auch mithilfe von Containern verwaltet werden. Dienste wie die Azure Kubernetes Service (AKS) vereinfachen die Bereitstellung eines verwalteten Kubernetes-Clusters in Azure.

Kostenverwaltung

Die Verwaltung Ihrer HPC-Kosten für Azure kann auf verschiedene Arten erfolgen. 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 Sicherheitsmethoden für Azure erfahren Sie in der Azure Security Documentation.

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 Microsoft Marketplace für einsatzbereite 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-gesteuerte virtuelle Computer in Azure in derselben Region wie die HPC-Ausgabe für die niedrigste Latenz, den Zugriff und die Remoteansicht über Azure Virtual Desktop aus.

Leistungsbenchmarks

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 Batchbeispiele

Diese Lernprogramme enthalten Details zum Ausführen von Anwendungen auf Microsoft Batch: