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. Nemusíte instalovat, spravovat ani škálovat žádný cluster ani software pro plánování úloh.There is 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 třeba v Batch sestavit službu, která bude pro společnost poskytující finanční služby spouštět simulaci rizik Monte Carlo, nebo službu pro zpracování velkého množství obrázků.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.

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 jsou ty, u kterých můžou aplikace pracovat odděleně a každá instance odvede určitou část práce.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. Při provádění můžou aplikace získávat přístup k některým společným datům, ale nekomunikují s jinými instancemi aplikace.When the applications are executing, they might access some common data, but they do not 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

Pomocí služby Batch můžete také spouštět vysoce provázané úlohy. Jedná se o úlohy, ve kterých spouštěné aplikace neběží nezávisle na sobě, ale potřebují spolu komunikovat.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. 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 výpočetních uzlů může být vaší „vykreslovací farmou“, která bude zajišťovat desítky, stovky nebo i tisíce jader pro vaši úlohu vykreslování.This pool of compute nodes 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.

Podrobný postup řešení Batch

KrokStep PopisDescription
1. Nahrajte vstupní soubory a aplikace, které je budou zpracovávat, do účtu 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. Vytvořte ve svém účtu Batch fond výpočetních uzlů služby Batch, úlohu pro spuštění ve fondu a úkoly v této ú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. Uzly fondu jsou virtuální počítače, které budou provádět vaše úkoly.Pool nodes are the VMs that execute your tasks. Zadejte vlastnosti, jako je počet a velikost uzlů, image virtuálních počítačů s Windows nebo Linuxem a aplikaci, která se má nainstalovat, když se uzly připojí k fondu.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. Náklady na fond a jeho velikost můžete omezit použitím virtuálních počítačů s nízkou prioritou nebo automatického škálování počtu uzlů v závislosti na změnách zatížení.Manage the cost and size of the pool by using low-priority VMs or 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. Stáhněte do služby Batch vstupní soubory a aplikace.3. Download input files and the applications to Batch Každý úkol může před spuštěním stáhnout vstupní data, která bude zpracovávat v přiřazeném výpočetním uzlu.Before each task executes, it can download the input data that it is to process to the assigned compute 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. Monitorujte provádění úkolů.4. 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. Nahrajte výstup úkolu.5. 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. Stáhněte výstupní soubory.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 toto je jenom jeden ze způsobů použití služby Batch a že tento scénář popisuje jen některé z jejích funkcí.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. 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 pomocí úkolů přípravy a dokončení úlohy připravit uzly na úlohy a potom je zase vyčistit.Or, use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

Podrobnější informace o prostředcích služby fondech, uzlech a úlohách a mnoha funkcích rozhraní API, které můžete používat při sestavování aplikace služby Batch, najdete v článku Přehled funkcí Batch pro vývojáře.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. Prohlédněte si také nejnovější aktualizace služby Batch.Also see the latest Batch service updates.

Další postupNext 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: