Mi az Azure Batch?What is Azure Batch?

Az Azure Batch használatával hatékonyan futtathat nagy méretű párhuzamos és nagy teljesítményű feldolgozási (high-performance computing, HPC) Batch-feladatokat az Azure-ban.Use Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. Az Azure Batch egy számítási csomópontokból (virtuális gépekből) álló készletet hoz létre és felügyel, telepíti a futtatni kívánt alkalmazásokat, és ütemezi a feladatok csomópontokon való futtatását.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. A telepítéshez, kezeléséhez és méretezéséhez nincs szükség fürtökre vagy feladatütemező szoftverre.There is no cluster or job scheduler software to install, manage, or scale. Ehelyett Batch API-k és -eszközök, parancssori szkriptek vagy az Azure Portal használatával konfigurálhatók, kezelhetők és monitorozhatók a feladatok.Instead, you use Batch APIs and tools, command-line scripts, or the Azure portal to configure, manage, and monitor your jobs.

A fejlesztők a Batch platformszolgáltatásként való használatával olyan SaaS-alkalmazásokat vagy ügyfélalkalmazásokat készíthetnek, amelyek esetében nagy mennyiségű végrehajtás szükséges.Developers can use Batch as a platform service to build SaaS applications or client apps where large-scale execution is required. A Batch segítségével létrehozhat például egy Monte Carlo-kockázatszimulációt egy pénzügyi szolgáltató vállalat számára, vagy egy képeket nagy mennyiségben feldolgozó szolgáltatást is.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.

A Batch felár nélkül használható.There is no additional charge for using Batch. Csak a mögöttes erőforrások, például a virtuális gépek, a tárolók és a hálózatkezelés használatáért kell fizetnie.You only pay for the underlying resources consumed, such as the virtual machines, storage, and networking.

Az Azure batch és egyéb HPC-megoldási lehetőségeinek összehasonlítását lásd: nagy teljesítményű számítástechnika (HPC) az Azure-ban.For a comparison between Batch and other HPC solution options in Azure, see High Performance Computing (HPC) on Azure.

Párhuzamos számítási feladatok futtatásaRun parallel workloads

A Batch nagyszerűen működik a belsőleg párhuzamos (más néven „zavaróan párhuzamos”) számítási feladatokkal.Batch works well with intrinsically parallel (also known as "embarrassingly parallel") workloads. A belsőleg párhuzamos számítási feladatok azok, amelyek esetében az alkalmazások egymástól függetlenül futtathatóak, és mindegyik példány a munka egy részét végzi el.Intrinsically parallel workloads are those where the applications can run independently, and each instance completes part of the work. Az alkalmazások végrehajtásakor a példányok hozzáférhetnek bizonyos közös adatokhoz, de egymás között nem kommunikálnak.When the applications are executing, they might access some common data, but they do not communicate with other instances of the application. A belsőleg párhuzamos számítási feladatok ezért nagy méretben futtathatók, amit csupán az alkalmazások egyidejű futtatásához rendelkezésre álló számítási erőforrások mennyisége határoz meg.Intrinsically parallel workloads can therefore run at a large scale, determined by the amount of compute resources available to run applications simultaneously.

Néhány példa a Batchbe bevonható belsőleg párhuzamos számítási feladatokra:Some examples of intrinsically parallel workloads you can bring to Batch:

  • Pénzügyi kockázatmodellezés Monte Carlo-szimuláció használatávalFinancial risk modeling using Monte Carlo simulations
  • VFX és 3D képek rendereléseVFX and 3D image rendering
  • Képelemzés és -feldolgozásImage analysis and processing
  • MédiakonvertálásMedia transcoding
  • génszekvenciák elemzése,Genetic sequence analysis
  • Optikai karakterfelismerés (OCR)Optical character recognition (OCR)
  • Adatbetöltés, -feldolgozás és ETL-műveletekData ingestion, processing, and ETL operations
  • Szoftvertesztek végrehajtásaSoftware test execution

A Batch használatával szorosan összekapcsolt számítási feladatokat is futtathat – ezek olyan számítási feladatok, amelyek során az alkalmazásoknak kommunikálniuk kell egymással, és nem csupán egymástól függetlenül futnak.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. A szorosan összekapcsolt alkalmazások általában a Message Passing Interface (MPI) API-t használják.Tightly coupled applications normally use the Message Passing Interface (MPI) API. A szorosan összekapcsolt számítási feladatokat a Batchben a Microsoft MPI vagy az Intel MPI használatával futtathatja.You can run your tightly coupled workloads with Batch using Microsoft MPI or Intel MPI. Az alkalmazások teljesítményét specializált HPC és GPU-optimalizált virtuálisgép-méretek használatával javíthatja.Improve application performance with specialized HPC and GPU-optimized VM sizes.

Néhány példa szorosan összekapcsolt számítási feladatokra:Some examples of tightly coupled workloads:

  • Végeselem-elemzésFinite element analysis
  • FolyadékdinamikaFluid dynamics
  • Több csomópontos MI-betanításMulti-node AI training

Számos szorosan összekapcsolt feladat futtatható párhuzamosan a Batch használatával.Many tightly coupled jobs can be run in parallel using Batch. Például egyszerre több szimulációt is létrehozhat egy adott folyadék egy csőben való áramlására változó csőátmérővel.For example, perform multiple simulations of a liquid flowing through a pipe with varying pipe widths.

A Batch további képességeiAdditional Batch capabilities

Magasabb szintű, számításifeladat-specifikus képességek is elérhetők az Azure Batchhez:Higher-level, workload-specific capabilities are also available for Azure Batch:

  • A Batch támogatja a nagy méretű renderelési számítási feladatokat az Autodesk Maya, a 3ds Max, az Arnold, a V-Ray és az egyéb renderelő eszközök használatával.Batch supports large-scale rendering workloads with rendering tools including Autodesk Maya, 3ds Max, Arnold, and V-Ray.
  • Az R-felhasználók a doAzureParallel R-csomag telepítésével könnyen felskálázhatják horizontálisan az R-algoritmusok végrehajtását a Batch-készleteken.R users can install the doAzureParallel R package to easily scale out the execution of R algorithms on Batch pools.

A Batch feladatokat nagyobb, adatok átalakítását végző Azure-munkafolyamatok részeként is futtathatja az Azure Data Factory vagy hasonló eszközök felügyelete alatt.You can also run Batch jobs as part of a larger Azure workflow to transform data, managed by tools such as Azure Data Factory.

MűködésHow it works

Egy általános Batch-forgatókönyv a belsőleg párhuzamos munkák (például egy 3D jelenet képeinek renderelése) horizontális felskálázása a számítási csomópontok készletén.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. A számítási csomópontoknak ez a készlete „renderelési farmként” szolgálhat, amely több tíz, több száz vagy akár több ezer magot biztosít a renderelési feladathoz.This pool of compute nodes can be your "render farm" that provides tens, hundreds, or even thousands of cores to your rendering job.

Az alábbi diagram egy általános Batch-munkafolyamat lépéseit mutatja be, ahol az ügyfélalkalmazás vagy az üzemeltetett szolgáltatás Batch szolgáltatással futtat egy párhuzamos számítási feladatot.The following diagram shows steps in a common Batch workflow, with a client application or hosted service using Batch to run a parallel workload.

Batch-megoldás bemutatása

LépésStep LeírásDescription
1. Töltse fel a bemeneti fájlokat és az azokat feldolgozó alkalmazásokat az Azure Storage-fiókba.1. Upload input files and the applications to process those files to your Azure Storage account. A bemeneti fájlok az alkalmazás által feldolgozható bármilyen adatok lehetnek, például pénzügyi modellezési adatok vagy átkódolni kívánt videofájlok.The input files can be any data that your application processes, such as financial modeling data, or video files to be transcoded. Az alkalmazásfájlok az adatokat feldolgozó szkriptek vagy alkalmazások lehetnek, például adathordozó-átkódolók.The application files can include scripts or applications that process the data, such as a media transcoder.
2. Hozzon létre egy számítási csomópontokból álló Batch-készletet a Batch-fiókjában, egy feladatot a számítási feladat futtatásához a készleten, valamint a feladat alá tartozó tevékenységeket.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. A készlet csomópontjai a feladatokat végrehajtó virtuális gépek.Pool nodes are the VMs that execute your tasks. Adja meg a tulajdonságokat, például a csomópontok számát és méretét, egy Windows- vagy Linux-alapú virtuálisgép-rendszerképet, valamint a csomópontok a készletre való csatlakozásakor telepíteni kívánt alkalmazást.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. A készlet költségeit és méretét alacsony prioritású virtuális gépek használatával vagy a csomópontok a számítási feladat változását követő automatikus méretezésével szabályozhatja.Manage the cost and size of the pool by using low-priority VMs or automatically scaling the number of nodes as the workload changes.

Amikor tevékenységeket ad hozzá egy munkához, a Batch szolgáltatás automatikusan ütemezi a tevékenységeket a készletben lévő számítási csomópontokon.When you add tasks to a job, the Batch service automatically schedules the tasks for execution on the compute nodes in the pool. Mindegyik tevékenység a bemeneti fájlok feldolgozásához feltöltött alkalmazást használja.Each task uses the application that you uploaded to process the input files.
3. A bemeneti fájlok és az alkalmazások letöltése a Batchbe3. Download input files and the applications to Batch Az egyes tevékenységek a végrehajtásuk előtt letölthetik a feldolgozandó bemeneti adatokat a hozzárendelt számítási csomópontra.Before each task executes, it can download the input data that it is to process to the assigned compute node. Ha az alkalmazás még nincs telepítve a készlet csomópontjain, helyette ide tölthető le.If the application isn't already installed on the pool nodes, it can be downloaded here instead. Amikor az Azure Storage-ból való letöltés befejeződött, a tevékenység lefut a hozzá rendelt csomóponton.When the downloads from Azure Storage complete, the task executes on the assigned node.
4. Tevékenységek végrehajtásának figyelése4. Monitor task execution A tevékenységek futtatásakor lekérdezheti a Batch szolgáltatást a feladat és a tevékenységei állapotának figyeléséhez.As the tasks run, query Batch to monitor the progress of the job and its tasks. Az Ön által készített ügyfélalkalmazások vagy szolgáltatások HTTPS használatával kommunikálhatnak a Batch szolgáltatással.Your client application or service communicates with the Batch service over HTTPS. Mivel előfordulhat, hogy számítási csomópontok ezrein futó több ezer tevékenységet kell figyelnie, gondoskodjon arról, hogy hatékonyan kérdezi le a Batch szolgáltatást.Because you may be monitoring thousands of tasks running on thousands of compute nodes, be sure to query the Batch service efficiently.
5. Tevékenység kimenetének feltöltése5. Upload task output A tevékenységek befejeződésekor a tevékenységek feltöltik eredményadataikat az Azure Storage-ba.As the tasks complete, they can upload their result data to Azure Storage. Közvetlenül a számítási csomóponton lévő fájlrendszerből is lekérhet fájlokat.You can also retrieve files directly from the file system on a compute node.
6. Kimeneti fájlok letöltése6. Download output files Amikor a megfigyelés észleli, hogy a feladat tevékenységei befejeződtek, az ügyfélalkalmazás vagy szolgáltatás letöltheti a kimeneti adatokat további feldolgozás céljából.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.

Vegye figyelembe, hogy ez a Batch használatának csak egyik módja, és ez a forgatókönyv a szolgáltatás mindössze néhány funkcióját ismerteti.Keep in mind this is just one way to use Batch, and this scenario describes just some of its features. Futtathat például párhuzamosan több tevékenységet mindegyik számítási csomóponton,For example, you can execute multiple tasks in parallel on each compute node. a feladat-előkészítési és befejezési tevékenységekkel pedig előkészítheti a csomópontokat a feladatokhoz, majd tisztítást végezhet.Or, use job preparation and completion tasks to prepare the nodes for your jobs, then clean up afterward.

A Batch szolgáltatásait ismertető, fejlesztőknek szóló áttekintés a készletek, csomópontok, feladatok, tevékenységek és a Batch-alkalmazások kiépítésekor használható rengeteg API-funkció részletesebb információit tartalmazza.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. Lásd továbbá a Batch szolgáltatás legújabb frissítéseit.Also see the latest Batch service updates.

További lépésekNext steps

Ismerkedjen az Azure Batch használatának első lépéseivel az alábbi rövid útmutatókkal:Get started with Azure Batch with one of these quickstarts: