Wat is Azure Batch?What is Azure Batch?

Met Azure Batch kunt u grootschalige parallelle en HPC-batchrekentaken (High Performance Computing) efficiënt uitvoeren in Azure.Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. Azure Batch maakt en beheert een pool van rekenknooppunten (virtuele machines), installeert de toepassingen die u wilt uitvoeren, en plant het uitvoeren van taken op de knooppunten.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. Er is geen cluster- of taakplanner-software die u moet installeren, beheren of schalen.There is no cluster or job scheduler software to install, manage, or scale. In plaats daarvan gebruikt u Batch-API's en hulpprogramma's, scripts voor de opdrachtregel of de Azure-portal voor het configureren, beheren en bewaken van uw taken.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

Ontwikkelaars kunnen Batch gebruiken als een platformservice voor het bouwen van de SaaS-toepassingen of de client-apps waar grootschalige uitvoering is vereist.Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. Bijvoorbeeld een service met Batch bouwen die een Monte Carlo risicosimulatie uitvoert voor een financiële dienstverlener, of een service voor het verwerken van vele installatiekopieën.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.

Er worden geen extra kosten berekend voor het gebruik van Batch.There is no additional charge for using Batch. U betaalt alleen voor bijbehorende verbruikte resources, zoals de virtuele machines, opslag en netwerken.You only pay for the underlying resources consumed, such as the virtual machines, storage, and networking.

Zie High Performance Computing (HPC) in azurevoor een vergelijking tussen batch en andere HPC-oplossings opties in Azure.For a comparison between Batch and other HPC solution options in Azure, see High Performance Computing (HPC) on Azure.

Uitvoeren van parallelle workloadsRun parallel workloads

Batch is bijzonder geschikt voor intrinsiek parallelle (ook wel bekend als ‘perfect parallelle’) workloads.Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. Bij intrinsiek parallelle workloads kunnen de toepassingen onafhankelijk worden uitgevoerd en voltooit elke instantie een deel van het werk.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. Wanneer de toepassingen worden uitgevoerd, kunnen ze toegang krijgen tot een aantal algemene gegevens, maar ze communiceren niet met andere instanties van de toepassing.When the applications are executing, they might access some common data, but they do not communicate with other instances of the application. Intrinsiek parallelle workloads kunnen daarom op grote schaal worden uitgevoerd. Dit wordt bepaald door de hoeveelheid rekenresources die beschikbaar zijn voor toepassingen die tegelijkertijd worden uitgevoerd.Intrinsically parallel workloads can therefore run at a large scale, determined by the amount of compute resources available to run applications simultaneously.

Enkele voorbeelden van intrinsiek parallelle workloads die u kunt overbrengen naar Batch:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Modellering van financiële risico's met behulp van Monte Carlo-simulatiesFinancial risk modeling using Monte Carlo simulations
  • Rendering van VFX en 3D-afbeeldingenVFX and 3D image rendering
  • Analyse en verwerking van beeldenImage analysis and processing
  • Transcodering van mediaMedia transcoding
  • Genetische sequentieanalyseGenetic sequence analysis
  • Optische tekenherkenning (OCR)Optical character recognition (OCR)
  • Gegevensopname, -verwerking en ETL-bewerkingenData ingestion, processing, and ETL operations
  • Software-testuitvoeringSoftware test execution

U kunt met Batch ook nauw gekoppelde workloads uitvoeren; dit zijn wo waar de toepassingen die u uitvoert met elkaar moeten communiceren, in tegenstelling tot wanneer ze onafhankelijk van elkaar worden uitgevoerd.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. Nauw gekoppelde toepassingen gebruiken normaal gesproken de Message Passing Interface (MPI) API.Tightly coupled applications normally use the Message Passing Interface (MPI) API. U kunt uw nauw gekoppelde workloads met Batch uitvoeren met behulp van Microsoft MPI of Intel MPI.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Toepassingsprestaties verbeteren met gespecialiseerde HPC en GPU-geoptimaliseerde VM-grootten.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Enkele voorbeelden van nauw gekoppelde workloads:Some examples of tightly coupled workloads:

  • Beperkte elementanalyseFinite element analysis
  • Vloeiende dynamicsFluid dynamics
  • AI-training met meerdere knooppuntenMulti-node AI training

Met behulp van Batch kunnen veel nauw gekoppelde taken parallel worden uitgevoerd.Many tightly coupled jobs can be run in parallel using Batch. Voer bijvoorbeeld meerdere simulaties uit van een vloeistof die door een leiding met verschillende leidingbreedtes loopt.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

Aanvullende functies van BatchAdditional Batch capabilities

Workload-specifieke mogelijkheden van een hoger niveau zijn voor Azure Batch ook beschikbaar:Higher-level, workload-specific capabilities are also available for Azure Batch:

  • Batch ondersteunt grootschalige rendering-workloads met hulpprogramma's voor rendering inclusief Autodesk Maya, 3ds Max, Arnold en V-Ray.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • R-gebruikers kunnen het doAzureParallel R-pakket installeren om eenvoudig de uitvoering van R-algoritmen voor Batch-pools uit te schalen.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

U kunt ook Batch-taken uitvoeren als onderdeel van een grotere Azure-werkstroom, beheerd door hulpprogramma's zoals Azure Data Factory.You can also run Batch jobs as part of a larger Azure workflow to transform data, managed by tools such as Azure Data Factory.

Hoe werkt het?How it works

Een gangbare oplossing voor Batch, bestaat uit het uitschalen van intrinsiek parallel werk, zoals de rendering van beelden voor 3D-scènes, op een pool van rekenknooppunten.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. Deze pool van rekenknooppunten kan uw "render farm" zijn, die tientallen, honderden of zelfs duizenden kernen aan uw renderingjob beschikbaar stelt.This pool of compute nodes can be your "render farm" that provides tens, hundreds, or even thousands of cores to your rendering job.

Het volgende diagram toont een algemene Batch-werkstroom, met een clienttoepassing of gehoste service die gebruikmaakt van Batch om een parallelle workload uit te voeren.The following diagram shows steps in a common Batch workflow, with a client application or hosted service using Batch to run a parallel workload.

Overzicht van Batch-oplossing

StapStep DescriptionDescription
1. Upload de invoerbestanden en de toepassingen die deze bestanden zullen verwerken naar uw Azure Storage-account.1. Upload input files and the applications to process those files to your Azure Storage account. De invoerbestanden kunnen alle gegevens zijn die uw toepassing zal verwerken, zoals de modellering van financiële gegevens of te transcoderen videobestanden.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. De toepassingsbestanden kunnen scripts of toepassingen bevatten die de gegevens verwerken, zoals een mediatranscoder.The application files can include scripts or applications that process the data, such as a media transcoder.
2. Maak een Batch-pool van rekenknooppunten in uw Batch-account, een taak voor het uitvoeren van de workload op de groep, en opdrachten binnen de taak.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. Pool-knooppunten zijn de virtuele machines die uw taken uitvoeren.Pool nodes are the VMs that execute your tasks. Geef eigenschappen op, zoals het aantal en de grootte van de knooppunten, een Windows- of Linux-VM-installatiekopie, en een toepassing wordt geïnstalleerd wanneer de knooppunten aan de pool worden toegevoegd.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. Beheer de kosten en de grootte van de pool met behulp van Lage-prioriteit VM’s of automatisch schalen van het aantal knooppunten als de workload wordt gewijzigd.Manage the cost and size of the pool by using low-priority VMs or automatically scaling the number of nodes as the workload changes.

Wanneer u taken aan een taak toevoegt, plant de Batch-service automatisch de taken voor uitvoering op de rekenknooppunten in de pool.When you add tasks to a job, the Batch service automatically schedules the tasks for execution on the compute nodes in the pool. Elke taak maakt gebruik van de toepassing die u hebt geüpload om de invoerbestanden te verwerken.Each task uses the application that you uploaded to process the input files.
3. Download invoerbestanden en de toepassingen in Batch3. Download input files and the applications to Batch Voordat elke taak wordt uitgevoerd, kan deze de invoerbestanden naar het toegewezen rekenknooppunt downloaden.Before each task executes, it can download the input data that it is to process to the assigned compute node. Als de toepassing nog niet op de pool-knooppunten is geïnstalleerd, kan deze in plaats daarvan hier worden gedownload.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Als het downloaden vanuit Azure Storage is voltooid, wordt de taak wordt uitgevoerd op het toegewezen knooppunt.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. Taakuitvoering controleren4. Monitor task execution Wanneer de taken worden uitgevoerd, kunt u in Batch een query uitvoeren om de voortgang van de taak en de bijbehorende opdrachten te controleren.As the tasks run, query Batch to monitor the progress of the job and its tasks. Uw clienttoepassing of -service communiceert met de Batch-service via HTTPS.Your client application or service communicates with the Batch service over HTTPS. Omdat u mogelijk duizenden taken bewaakt die worden uitgevoerd op duizenden rekenknooppunten, moet u ervoor zorgen dat u een query op de Batch-service op efficiënte wijze uitvoert.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. Taakuitvoer uploaden5. Upload task output Nadat de taken zijn voltooid, kunnen ze hun resultaatgegevens uploaden naar Azure Storage.As the tasks complete, they can upload their result data to Azure Storage. U kunt ook bestanden rechtstreeks ophalen van het bestandssysteem op een rekenknooppunt.You can also retrieve files directly from the file system on a compute node.
6. Uitvoerbestanden downloaden6. Download output files Wanneer u bij uw controle detecteert dat de taken in uw job zijn voltooid, kan uw clienttoepassing of service de uitvoergegevens downloaden voor verdere verwerking.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.

Houd er rekening mee dat dit slechts één manier is om Batch te gebruiken en dat in dit scenario slechts enkele van de beschikbare functies worden beschreven.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. Bijvoorbeeld, kunt u meerdere taken parallel op elk rekenknooppunt uitvoeren.For example, you can execute multiple tasks in parallel on each compute node. Of gebruik taakvoorbereiding en -voltooiingsopdrachten om de knooppunten voor te bereiden op uw taken, schoon het daarna op.Or, use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

Zie het Overzicht van de Batch-functies voor ontwikkelaars voor meer gedetailleerde informatie over pools, knooppunten, opdrachten en taken, en de vele API-functies die u tijdens het bouwen van uw Batch-toepassing kunt gebruiken.See the Batch feature overview for developers for more detailed information about pools, nodes, jobs, and tasks, and the many API features that you can use while building your Batch application. Zie ook de meest recente Batch-service-updates.Also see the latest Batch service updates.

Volgende stappenNext steps

Lees een van deze snelstartgidsen om snel aan de slag te gaan met Azure Batch:Get started with Azure Batch with one of these quickstarts: