Co je Azure Batch?What is Azure Batch?

Azure Batch umožňuje efektivně spouštět v Azure rozsáhlé paralelní dávkové úlohy a úlohy vysokovýkonného výpočetního prostředí (HPC).Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. Azure Batch vytvoří a spravuje fond výpočetních uzlů (virtuálních počítačů), nainstaluje aplikace, které chcete spouštět, a naplánuje spouštění úloh v uzlech.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. Není k dispozici žádný cluster ani software plánovače úloh pro instalaci, správu nebo škálování.There's no cluster or job scheduler software to install, manage, or scale. Místo toho ke konfiguraci, správě a monitorování úloh použijete rozhraní API a nástroje služby Batch, skripty příkazového řádku nebo web Azure Portal.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

Vývojáři můžou službu Batch používat jako službu platformy k sestavování aplikací SaaS nebo klientských aplikací, které vyžadují provádění ve velkém měřítku.Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. Můžete například vytvořit službu s dávkou pro spuštění simulace rizik Monte Carlo pro společnost finanční služby nebo služby pro zpracování mnoha imagí.For example, you can build a service with Batch to run a Monte Carlo risk simulation for a financial services company, or a service to process many images.

Za používání služby Batch se neúčtují žádné další poplatky.There is no additional charge for using Batch. Platíte jenom za spotřebované základní prostředky, jako jsou virtuální počítače, úložiště a sítě.You only pay for the underlying resources consumed, such as the virtual machines, storage, and networking.

Porovnání mezi službou Batch a dalšími možnostmi řešení HPC v Azure najdete v tématu vysoce výkonné výpočty (HPC) v Azure.For a comparison between Batch and other HPC solution options in Azure, see High Performance Computing (HPC) on Azure.

Spouštění paralelních úlohRun parallel workloads

Služba Batch pracuje s vnitřně paralelními aplikacemi úlohami (také známé jako „jednoduše paralelně zpracovatelné“).Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. Vnitřně Paralelní úlohy mají aplikace, které můžou běžet nezávisle, přičemž každá instance dokončuje část práce.Intrinsically parallel workloads have applications which can run independently, with each instance completing part of the work. Když aplikace běží, můžou získat přístup k některým běžným datům, ale nekomunikují s ostatními instancemi aplikace.When the applications are executing, they might access some common data, but they don't communicate with other instances of the application. Vnitřně paralelní úlohy proto můžou běžet ve velkém měřítku, které závisí na množství výpočetních prostředků dostupných pro souběžné spouštění aplikací.Intrinsically parallel workloads can therefore run at a large scale, determined by the amount of compute resources available to run applications simultaneously.

Některé příklady vnitřně paralelních úloh, které můžete použít ve službě Batch:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Modelování finančních rizik pomocí simulací Monte CarloFinancial risk modeling using Monte Carlo simulations
  • Vykreslování vizuálních efektů a 3D obrázkůVFX and 3D image rendering
  • Analýza a zpracování obrázkůImage analysis and processing
  • Překódování médiíMedia transcoding
  • Genetická sekvenční analýzaGenetic sequence analysis
  • Optické rozpoznávání znaků (OCR)Optical character recognition (OCR)
  • Příjem dat, zpracování a operace extrakce, transformace a načítání (ETL)Data ingestion, processing, and ETL operations
  • Provádění testů softwaruSoftware test execution

Službu Batch můžete také využít ke spouštění úzce vázaných úloh, kde aplikace, které spouštíte, potřebují vzájemně komunikovat, nikoli nezávisle na provozu.You can also use Batch to run tightly coupled workloads, where the applications you run need to communicate with each other, rather than running independently. Vysoce provázané aplikace běžně používají rozhraní API MPI (Message Passing Interface).Tightly coupled applications normally use the Message Passing Interface (MPI) API. Ve službě Batch můžete spouštět vysoce provázané úlohy s využitím rozhraní Microsoft MPI nebo Intel MPI.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Velikosti virtuálních počítačů specializované pro vysokovýkonné výpočetní prostředí (HPC) a GPU umožňují zvýšit výkon aplikací.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Některé příklady vysoce propojených úloh:Some examples of tightly coupled workloads:

  • Analýza konečných prvkůFinite element analysis
  • Dynamika tekutinFluid dynamics
  • Trénování AI ve více uzlechMulti-node AI training

Řada vysoce propojených úloh může při použití služby Batch běžet paralelně.Many tightly coupled jobs can be run in parallel using Batch. Můžete třeba provést několik simulací kapaliny proudící potrubím při různých šířkách potrubí.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

Další možnosti služby BatchAdditional Batch capabilities

Služba Azure Batch nabízí také funkce vyšší úrovně pro specifické úlohy:Higher-level, workload-specific capabilities are also available for Azure Batch:

  • Batch podporuje úlohy vykreslování ve větším měřítku v nástrojích, jako jsou Autodesk Maya, 3ds Max, Arnold a V-Ray.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • Uživatelé jazyka R si můžou nainstalovat balíček doAzureParallel jazyka R, který umožňuje snadné horizontální navýšení kapacity provádění algoritmů jazyka R ve fondech Batch.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

Úlohy služby Batch můžete také spouštět v rámci rozsáhlejšího pracovního postupu transformace dat v Azure spravovaného nástroji, jako je 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.

Jak to fungujeHow it works

Běžný scénář využití služby Batch zahrnuje horizontální navýšení kapacity vnitřně paralelních úloh, jako je vykreslování obrázků ve 3D scénách, ve fondu výpočetních uzlů.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. Tento fond může být vaší "farmou vykreslování", která poskytuje desítky, stovky nebo dokonce tisíce jader pro vaši úlohu vykreslování.This pool can be your "render farm" that provides tens, hundreds, or even thousands of cores to your rendering job.

Následující diagram znázorňuje kroky v běžném pracovním postupu služby Batch s klientskou aplikací nebo hostovanou službou, která službu Batch používá ke spouštění paralelních úloh.The following diagram shows steps in a common Batch workflow, with a client application or hosted service using Batch to run a parallel workload.

Diagram kroků v řešení Batch.

KrokStep DescriptionDescription
1. nahrání vstupních souborů a aplikací pro zpracování těchto souborů na účet Azure Storage.1. Upload input files and the applications to process those files to your Azure Storage account. Vstupní soubory mohou být jakákoli data, která vaše aplikace zpracuje, třeba data finančního modelování nebo videosoubory k převodu.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. Soubory aplikací můžou zahrnovat skripty nebo aplikace zpracovávající data, třeba převaděč médií.The application files can include scripts or applications that process the data, such as a media transcoder.
2. na účtu Batch vytvořte fond výpočetních uzlů služby Batch, úlohu pro spuštění úlohy ve fondu a úkoly v úloze.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. Výpočetní uzly jsou virtuální počítače, které spouštějí vaše úkoly.Compute nodes are the VMs that execute your tasks. Zadejte vlastnosti fondu, jako je počet a velikost uzlů, image virtuálního počítače s Windows nebo Linux, a aplikaci, která se má nainstalovat, když se uzly připojí k fondu.Specify properties for your pool, 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. Spravujte náklady a velikost fondu pomocí virtuálních počítačů s nízkou prioritou nebo pomocí automatického škálování počtu uzlů při změně zatížení.Manage the cost and size of the pool by using low-priority VMs or by automatically scaling the number of nodes as the workload changes.

Když do úlohy přidáte úkoly, služba Batch automaticky naplánuje úkoly k provedení ve výpočetních uzlech ve fondu.When you add tasks to a job, the Batch service automatically schedules the tasks for execution on the compute nodes in the pool. Každý úkol používá aplikaci, kterou jste nahráli, ke zpracování vstupních souborů.Each task uses the application that you uploaded to process the input files.
3. stažení vstupních souborů a aplikací do dávky3. Download input files and the applications to Batch Před spuštěním každého úkolu může aplikace Stáhnout vstupní data, která zpracuje, do přiřazeného uzlu.Before each task executes, it can download the input data that it will process to the assigned node. Pokud ještě není aplikace v daných uzlech fondu nainstalovaná, může se stáhnout v této fázi.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Po dokončení stahování ze služby Azure Storage se v přiřazeném uzlu spustí příslušný úkol.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. monitorování provádění úlohy4. Monitor task execution Když se úkoly spouštějí, můžete ve službě Batch zadat dotaz na monitorování postupu úloh a jejich úkolů.As the tasks run, query Batch to monitor the progress of the job and its tasks. Vaše klientská aplikace nebo služba komunikuje se službou Batch přes HTTPS.Your client application or service communicates with the Batch service over HTTPS. Vzhledem k tomu, že můžete monitorovat tisíce úloh spuštěných v tisících výpočetních uzlů, ujistěte se, že se služby Batch dotazujete efektivně.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. odeslání výstupu úlohy5. Upload task output Úkoly mohou po dokončení nahrát data svých výsledků do služby Azure Storage.As the tasks complete, they can upload their result data to Azure Storage. Soubory můžete také načíst přímo ze systému souborů na výpočetním uzlu.You can also retrieve files directly from the file system on a compute node.
6. stažení výstupních souborů6. Download output files Když funkce monitorování zjistí, že jsou úkoly ve vaší úloze dokončené, klientská aplikace nebo služba může stáhnout výstupní data k dalšímu zpracování.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.

Mějte na paměti, že výše popsaný pracovní postup je pouze jedním ze způsobů, jak používat dávku a existuje mnoho dalších funkcí a možností.Keep in mind that the workflow described above is just one way to use Batch, and there are many other features and options. Například můžete v každém výpočetním uzlu paralelně provádět několik úkolů.For example, you can execute multiple tasks in parallel on each compute node. Nebo můžete použít úkoly přípravy a dokončení úlohy k přípravě uzlů pro vaše úlohy a pak je vyčistit později.Or you can use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

Přehled funkcí, jako jsou fondy, uzly, úlohy a úkoly, najdete v tématu pracovní postupy a prostředky služby Batch .See Batch service workflow and resources for an overview of features such as pools, nodes, jobs, and tasks. Prohlédněte si také nejnovější aktualizace služby Batch.Also see the latest Batch service updates.

Další krokyNext steps

Začněte pracovat se službou Azure Batch pomocí jedné z těchto šablon Rychlý start:Get started with Azure Batch with one of these quickstarts: