Was ist Azure Batch?

Mithilfe von Azure Batch können Sie umfangreiche auf Parallelverarbeitung ausgelegte HPC-Batchaufträge (High Performance Computing) effizient in Azure ausführen. Azure Batch erstellt und verwaltet einen Pool von Rechenknoten (virtuelle Maschinen), installiert die Anwendungen, die Sie ausführen möchten, und plant Aufträge zur Ausführung auf den Knoten. Es muss keine Cluster- oder Auftragsplanersoftware installiert, verwaltet oder skaliert werden. Stattdessen nutzen Sie Batch-APIs und -Tools, Befehlszeilenskripts oder das Azure-Portal, um Ihre Aufträge zu konfigurieren, zu verwalten und zu überwachen.

Entwickler können Batch als Plattformdienst verwenden, um SaaS-Anwendungen oder Client-Apps zu erstellen, für die große Mengen von Ausführungen erforderlich sind. Sie können mit Batch beispielsweise einen Dienst zum Ausführen einer Monte Carlo-Risikosimulation für ein Dienstleistungsunternehmen oder einen Dienst zum Verarbeiten einer großen Zahl von Bildern erstellen.

Es gibt keine zusätzliche Gebühr für die Verwendung von Batch. Sie zahlen nur für die zugrunde liegenden Ressourcen, z. B. virtuelle Computer, Speicher und Netzwerk.

Einen Vergleich zwischen Batch und anderen HPC-Lösungsoptionen in Azure finden Sie unter High Performance Computing (HPC) on Azure (High Performance Computing (HPC) in Azure).

Ausführen von parallelen Workloads

Batch funktioniert gut mit von Natur aus parallelen Arbeitslasten (auch als „peinlich parallel“ bezeichnet). Diese Workloads enthalten Anwendungen, die unabhängig voneinander ausgeführt werden und bei denen jede Instanz einen Teil der Arbeit erledigt. Wenn die Anwendungen ausgeführt werden, greifen sie ggf. auf einige gemeinsame Daten zu, aber sie kommunizieren nicht mit anderen Instanzen der Anwendung. Intrinsisch parallele Workloads können daher in großem Umfang ausgeführt werden. Dies richtet sich nach der Menge von Computeressourcen, die für die gleichzeitige Ausführung von Anwendungen verfügbar sind.

Hier sind einige Beispiele für intrinsisch parallele Workloads angegeben, die Sie in Batch einbinden können:

  • Modellierung von Finanzrisiken mit Monte Carlo-Simulationen
  • VFX- und 3D-Bildrendering
  • Bildanalyse und -verarbeitung
  • Transkodierung von Medien
  • Analyse genetischer Sequenzen
  • Optische Zeichenerkennung (OCR)
  • Datenerfassung-/verarbeitung und ETL-Vorgänge
  • Softwaretestausführung

Sie können Batch auch verwenden, um eng gekoppelte Workloads auszuführen, bei denen die von Ihnen ausgeführten Anwendungen miteinander kommunizieren müssen und nicht unabhängig ausgeführt werden. Für eng gekoppelte Anwendungen wird normalerweise die MPI-API (Message Passing Interface) verwendet. Sie können Ihre eng gekoppelten Workloads mit Batch per Microsoft-MPI oder Intel-MPI ausführen. Verbessern Sie die Anwendungsleistung mit speziellen HPC-Maßnahmen und GPU-optimierten VM-Größen.

Hier sind einige Beispiele für eng gekoppelte Workloads angegeben:

  • Finite-Elemente-Analyse
  • Strömungssimulation
  • KI-Training mit mehreren Knoten

Viele eng gekoppelte Aufträge können mit Batch parallel ausgeführt werden. Sie können beispielsweise mehrere Simulationen für einen Fall durchführen, in dem eine Flüssigkeit durch ein Rohr mit wechselnden Durchmessern fließt.

Zusätzliche Batch-Funktionen

Batch unterstützt umfangreiche Rendering-Workloads mit Rendering-Tools wie Autodesk Maya, 3ds Max, Arnold und V-Ray.

Sie können Batch-Aufträge auch im Rahmen eines größeren Azure-Workflows zum Transformieren von Daten ausführen, der mit Tools wie Azure Data Factory verwaltet wird.

Funktionsweise

Ein häufiges Szenario für Batch ist das horizontale Hochskalieren von intrinsisch parallelen Arbeitsschritten, z.B. das Rendern von Bildern für 3D-Szenen, in einem Pool mit Computeknoten. Dieser Pool kann als Ihre „Renderfarm“ dienen, mit der für den Renderauftrag Dutzende, Hunderte oder sogar Tausende von Kernen bereitgestellt werden.

Im folgenden Diagramm sind die Schritte eines gängigen Batch-Workflows dargestellt, bei dem eine Clientanwendung oder ein gehosteter Dienst Batch zum Ausführen einer parallelen Workload verwendet.

Diagramm der Schritte in einer Batch-Lösung.

Schritt BESCHREIBUNG
1. Laden Sie Eingabedateien und die Anwendungen hoch, um diese Dateien in Ihrem Azure Storage-Konto zu verarbeiten. Bei den Eingabedateien kann es sich um alle Daten handeln, die von Ihrer Anwendung verarbeitet werden, z.B. Daten für Finanzmodelle oder zu transcodierende Videodateien. Die Anwendungsdateien können Skripts oder Anwendungen enthalten, mit denen die Daten verarbeitet werden, z.B. einen Medien-Transcoder.
2. Erstellen Sie in Ihrem Batch-Konto einen Batch-Pool aus Rechenknoten, einen Job zum Ausführen der Arbeitslast im Pool und Aufgaben im Job. Computeknoten sind die VMs, mit denen Ihre Tasks ausgeführt werden. Geben Sie Eigenschaften für Ihren Pool an, beispielsweise die Anzahl und Größe der Knoten, ein Windows- oder Linux-VM-Image und eine Anwendung, die installiert werden soll, wenn die Knoten dem Pool beitreten. Verwalten Sie die Kosten und die Größe des Pools, indem Sie Azure Spot-VMs verwenden oder die Anzahl der Knoten bei Änderungen der Arbeitslast automatisch skalieren.

Wenn Sie einem Auftrag Aufgaben hinzufügen, plant der Batch-Dienst die Aufgaben automatisch zur Ausführung auf den Rechenknoten im Pool ein. Jede Aufgabe verwendet die Anwendung, die Sie hochgeladen haben, zum Verarbeiten der Eingabedateien.
3. Herunterladen von Eingabedateien und der Anwendungen in Batch Bevor jede Aufgabe ausgeführt wird, kann sie die von ihr verarbeiteten Eingabedaten auf den zugewiesenen Knoten herunterladen. Wenn die Anwendung nicht bereits auf den Poolknoten installiert ist, kann sie stattdessen hier heruntergeladen werden. Nachdem die Downloads aus Azure Storage abgeschlossen sind, wird die Aufgabe auf dem zugewiesenen Knoten ausgeführt.
4. Überwachen der Aufgabenausführung Fragen Sie während der Ausführung der Aufgaben Batch ab, um den Fortschritt des Auftrags und seiner Aufgaben zu überwachen. Ihre Clientanwendung oder Ihr Dienst kommuniziert mit dem Batch-Dienst über HTTPS. Da Sie möglicherweise Tausende von Aufgaben überwachen, die auf Tausenden von Computeknoten ausgeführt werden, achten Sie darauf, den Batchdienst effizient abzufragen.
5. Hochladen der Aufgabenausgabe Nach Abschluss der Aufgaben können die Ergebnisdaten in Azure Storage hochgeladen werden. Sie können Dateien auch direkt aus dem Dateisystem auf einem Computeknoten abrufen.
6. Herunterladen der Ausgabedateien Wenn Ihre Überwachung erkennt, dass die Aufgaben in Ihrem Job abgeschlossen sind, kann Ihre Clientanwendung oder Ihr Dienst die Ausgabedaten zur weiteren Verarbeitung herunterladen.

Denken Sie daran, dass der vorherige Workflow nur eine Möglichkeit für die Verwendung von Batch ist, und es gibt viele weitere Features und Optionen. Beispielsweise können Sie auf jedem Computeknoten mehrere Aufgaben parallel ausführen. Alternativ können Sie Aufgaben zur Auftragsvorbereitung und zum Auftragsabschluss verwenden, um die Knoten für Ihre Aufträge vorzubereiten und sie anschließend zu bereinigen.

Eine Übersicht über Features wie Pools, Knoten, Aufträge und Tasks finden Sie unter Workflow des Batch-Diensts und Ressourcen. Lesen Sie auch die neuesten Updates des Batchdiensts.

Datenresidenz in der Region

Azure Batch verschiebt oder speichert keine Kundendaten außerhalb der Region, in der es bereitgestellt wird.

Nächste Schritte

Steigen Sie mit einer der folgenden Schnellstartanleitungen in Azure Batch ein: