Was ist Azure Batch?What is Azure Batch?

Mithilfe von Azure Batch können Sie umfangreiche auf Parallelverarbeitung ausgelegte HPC-Batchaufträge (High Performance Computing) effizient in Azure ausführen.Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. Azure Batch erstellt und verwaltet einen Pool mit Computeknoten (virtuelle Computer), installiert die Anwendungen, die Sie ausführen möchten, und plant Aufträge für die Ausführung auf den Knoten.Azure Batch creates and manages a pool of compute nodes (virtual machines), installs the applications you want to run, and schedules jobs to run on the nodes. Es muss keine Cluster- oder Auftragsplanersoftware installiert, verwaltet oder skaliert werden.There is no cluster or job scheduler software to install, manage, or scale. Stattdessen nutzen Sie Batch-APIs und -Tools, Befehlszeilenskripts oder das Azure-Portal, um Ihre Aufträge zu konfigurieren, zu verwalten und zu überwachen.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

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.Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. Erstellen Sie 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.For example, build a service with Batch to run a Monte Carlo risk simulation for a financial services company, or a service to process many images.

Es fallen keine zusätzlichen Gebühren für die Nutzung von Batch an.There is no additional charge for using Batch. Sie zahlen nur für die genutzten zugrunde liegenden Ressourcen, z.B. virtuelle Computer, Speicher und Netzwerk.You only pay for the underlying resources consumed, such as the virtual machines, storage, and networking.

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).For a comparison between Batch and other HPC solution options in Azure, see High Performance Computing (HPC) on Azure.

Ausführen von parallelen WorkloadsRun parallel workloads

Batch funktioniert gut mit intrinsisch parallelen Workloads (auch als „hochgradig parallel“ bezeichnet).Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. Bei intrinsisch parallelen Workloads können die Anwendungen unabhängig voneinander ausgeführt werden, und jede Instanz erledigt einen Teil der Arbeit.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. Wenn die Anwendungen ausgeführt werden, greifen sie ggf. auf einige gemeinsame Daten zu, aber sie kommunizieren nicht mit anderen Instanzen der Anwendung.When the applications are executing, they might access some common data, but they do not communicate with other instances of the application. 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.Intrinsically parallel workloads can therefore run at a large scale, determined by the amount of compute resources available to run applications simultaneously.

Hier sind einige Beispiele für intrinsisch parallele Workloads angegeben, die Sie in Batch einbinden können:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Modellierung von Finanzrisiken mit Monte Carlo-SimulationenFinancial risk modeling using Monte Carlo simulations
  • VFX- und 3D-BildrenderingVFX and 3D image rendering
  • Bildanalyse und -verarbeitungImage analysis and processing
  • MedientranscodierungMedia transcoding
  • Analyse genetischer SequenzenGenetic sequence analysis
  • Optische Zeichenerkennung (OCR)Optical character recognition (OCR)
  • Datenerfassung-/verarbeitung und ETL-VorgängeData ingestion, processing, and ETL operations
  • SoftwaretestausführungSoftware test execution

Sie können Batch auch verwenden, um eng gekoppelte Workloads auszuführen. Dies sind Workloads, bei denen die von Ihnen ausgeführten Anwendungen miteinander kommunizieren müssen und nicht unabhängig ausgeführt werden.You can also use Batch to run tightly coupled workloads; these are workloads where the applications you run need to communicate with each other, as opposed to run independently. Für eng gekoppelte Anwendungen wird normalerweise die MPI-API (Message Passing Interface) verwendet.Tightly coupled applications normally use the Message Passing Interface (MPI) API. Sie können Ihre eng gekoppelten Workloads mit Batch per Microsoft-MPI oder Intel-MPI ausführen.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Verbessern Sie die Anwendungsleistung mit speziellen HPC-Maßnahmen und GPU-optimierten VM-Größen.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Hier sind einige Beispiele für eng gekoppelte Workloads angegeben:Some examples of tightly coupled workloads:

  • FE-AnalyseFinite element analysis
  • StrömungssimulationFluid dynamics
  • KI-Training mit mehreren KnotenMulti-node AI training

Viele eng gekoppelte Aufträge können mit Batch parallel ausgeführt werden.Many tightly coupled jobs can be run in parallel using Batch. Führen Sie beispielsweise mehrere Simulationen für einen Fall durch, in dem eine Flüssigkeit durch ein Rohr mit wechselnden Durchmessern fließt.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

Zusätzliche Batch-FunktionenAdditional Batch capabilities

Für Azure Batch sind auch allgemeinere workloadspezifische Funktionen verfügbar:Higher-level, workload-specific capabilities are also available for Azure Batch:

  • Batch unterstützt größere Mengen von Renderingworkloads mit Renderingtools wie beispielsweise Autodesk Maya, 3ds Max, Arnold und V-Ray.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • R-Benutzer können das R-Paket „doAzureParallel“ installieren, um für die Ausführung von R-Algorithmen in Batch-Pools auf einfache Weise das Aufskalieren durchzuführen.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

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.You can also run Batch jobs as part of a larger Azure workflow to transform data, managed by tools such as Azure Data Factory.

FunktionsweiseHow it works

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.A common scenario for Batch involves scaling out intrinsically parallel work, such as the rendering of images for 3D scenes, on a pool of compute nodes. Dieser Pool mit Computeknoten kann als Ihre „Renderfarm“ dienen, mit der für den Renderauftrag Dutzende, Hunderte oder sogar Tausende von Kernen bereitgestellt werden.This pool of compute nodes can be your "render farm" that provides tens, hundreds, or even thousands of cores to your rendering job.

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.The following diagram shows steps in a common Batch workflow, with a client application or hosted service using Batch to run a parallel workload.

Exemplarische Vorgehensweise für Batch-Lösung

SchrittStep BESCHREIBUNGDescription
1. Laden Sie die Eingabedateien und die Anwendungen, mit der diese Dateien verarbeitet werden, in Ihr Azure Storage-Konto hoch.1. Upload input files and the applications to process those files to your Azure Storage account. 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.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. Die Anwendungsdateien können Skripts oder Anwendungen enthalten, mit denen die Daten verarbeitet werden, z.B. einen Medien-Transcoder.The application files can include scripts or applications that process the data, such as a media transcoder.
2. Erstellen Sie einen Batch-Pool mit Computeknoten in Ihrem Batch-Konto, einen Auftrag zum Ausführen der Workload im Pool und Aufgaben im Auftrag.2. Create a Batch pool of compute nodes in your Batch account, a job to run the workload on the pool, and tasks in the job. Poolknoten sind die VMs, mit denen Ihre Aufgaben ausgeführt werden.Pool nodes are the VMs that execute your tasks. Geben Sie Eigenschaften 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.Specify properties such as the number and size of the nodes, a Windows or Linux VM image, and an application to install when the nodes join the pool. Verwalten Sie die Kosten und die Größe des Pools, indem Sie VMs mit niedriger Priorität verwenden oder die automatische Skalierung der Anzahl von Knoten durchführen, wenn sich die Workload ändert.Manage the cost and size of the pool by using low-priority VMs or automatically scaling the number of nodes as the workload changes.

Wenn Sie einem Auftrag Aufgaben hinzufügen, plant der Batch-Dienst die Aufgaben automatisch für die Ausführung auf den Computeknoten im Pool ein.When you add tasks to a job, the Batch service automatically schedules the tasks for execution on the compute nodes in the pool. Jede Aufgabe verwendet die Anwendung, die Sie hochgeladen haben, zum Verarbeiten der Eingabedateien.Each task uses the application that you uploaded to process the input files.
3. Laden Sie Eingabedateien und die Anwendungen in Batch herunter.3. Download input files and the applications to Batch Vor dem Ausführen der einzelnen Aufgaben können die Eingabedaten, die verarbeitet werden sollen, auf den zugewiesenen Computeknoten heruntergeladen werden.Before each task executes, it can download the input data that it is to process to the assigned compute node. Wenn die Anwendung nicht bereits auf den Poolknoten installiert ist, kann sie stattdessen hier heruntergeladen werden.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Nachdem die Downloads aus Azure Storage abgeschlossen sind, wird die Aufgabe auf dem zugewiesenen Knoten ausgeführt.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. Überwachen Sie die Aufgabenausführung.4. Monitor task execution Fragen Sie während der Ausführung der Aufgaben Batch ab, um den Fortschritt des Auftrags und seiner Aufgaben zu überwachen.As the tasks run, query Batch to monitor the progress of the job and its tasks. Ihre Clientanwendung oder Ihr Dienst kommuniziert mit dem Batch-Dienst über HTTPS.Your client application or service communicates with the Batch service over HTTPS. Da Sie unter Umständen Tausende von Aufgaben auf Tausenden von Computeknoten überwachen müssen, empfiehlt es sich, den Batch-Dienst möglichst effizient abzufragen.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. Laden Sie die Aufgabenausgabe hoch.5. Upload task output Nach Abschluss der Aufgaben können die Ergebnisdaten in Azure Storage hochgeladen werden.As the tasks complete, they can upload their result data to Azure Storage. Sie können Dateien auch direkt aus dem Dateisystem auf einem Computeknoten abrufen.You can also retrieve files directly from the file system on a compute node.
6. Laden Sie die Ausgabedateien herunter.6. Download output files Wenn bei der Überwachung erkannt wird, dass die Aufgaben Ihres Auftrags abgeschlossen wurden, kann Ihre Clientanwendung bzw. der Dienst die Ausgabedaten zur weiteren Verarbeitung herunterladen.When your monitoring detects that the tasks in your job have completed, your client application or service can download the output data for further processing.

Bedenken Sie, dass dies nur eine Möglichkeit zur Verwendung von Batch ist und dass in diesem Szenario nur einige Features beschrieben werden.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. Beispielsweise können Sie auf jedem Computeknoten mehrere Aufgaben parallel ausführen.For example, you can execute multiple tasks in parallel on each compute node. Oder verwenden Sie Aufgaben für die Vorbereitung und den Abschluss von Aufträgen, um die Knoten für Ihre Aufträge vorzubereiten, und führen Sie anschließend die Bereinigung durch.Or, use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

Eine Übersicht über Features wie Pools, Knoten, Aufträge und Aufgaben finden Sie unter Workflow des Batch-Diensts und primäre Ressourcen.See Batch service workflow and primary resources for an overview of features such as pools, nodes, jobs, and tasks. Siehe auch die aktuellen Batchdienstupdates.Also see the latest Batch service updates.

Nächste SchritteNext steps

Steigen Sie mit einer der folgenden Schnellstartanleitungen in Azure Batch ein:Get started with Azure Batch with one of these quickstarts: