Wat is Azure Batch?

Met Azure Batch kunt u grootschalige parallelle en high-performance computing (HPC) batchtaken efficiënt uitvoeren 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. Er is geen cluster- of taakplanner-software die u moet installeren, beheren of schalen. 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.

Ontwikkelaars kunnen Batch gebruiken als een platformservice voor het bouwen van de SaaS-toepassingen of de client-apps waar grootschalige uitvoering is vereist. U kunt bijvoorbeeld een service met Batch bouwen die een Monte Carlo-risicosimulatie uitvoert voor een financiële dienstverlener, of een service om vele afbeeldingen te verwerken.

Er zijn geen extra kosten verbonden aan het gebruik van Batch. U betaalt alleen voor de onderliggende resources die worden verbruikt, zoals virtuele machines, opslag en netwerken.

Zie High Performance Computing (HPC) in Azure voor een vergelijking tussen Batch en andere HPC-oplossingsopties in Azure.

Kies een Azure-service voor batch- en HPC-workloads

Kies een dienst op basis van de planningservaring en het niveau van infrastructuurcontrole dat jouw werkdruk vereist:

Dienst Beste pasvorm Gebruiksmodel
Azure Batch Parallelle workloads met hoge doorvoer die als onafhankelijke taken of nauw gekoppelde jobs kunnen worden uitgevoerd Azure biedt planning als dienst aan. Je bouwt met batch-API's en tools zonder cluster- of schedulersoftware.
Azure CycleCloud HPC-omgevingen die een specifieke scheduler, aangepaste clustertopologie of nauwe afstemming met bestaande on-premises workflows vereisen Je deployt en beheert de plannings- en clusterconfiguratie. CycleCloud provisioneert en schaalt automatisch de Azure-infrastructuur.
Azure CycleCloud Workspace for Slurm Teams die een kant-en-klare Slurm-omgeving willen voor HPC- of AI-workloads Een Marketplace-oplossing deployeert CycleCloud, Slurm, netwerk-, opslag- en toegangscomponenten in je Azure-abonnement.

Gebruik je huidige werkdruk als doorslaggevende factor:

Beginpunt Prefereren Waarom
Je bouwt een applicatie die onafhankelijke taken of MPI-opdrachten via een API kan indienen. Azure Batch Batch levert de planningsdienst, dus jouw team bezit de workloadapplicatie in plaats van de planningsinfrastructuur.
Je hebt al scheduler-specifieke taakscripts, wachtrijen, beleidsregels of integraties die van kracht moeten blijven. Azure CycleCloud Het verplaatsen van die workflows naar Batch zou vereisen dat ze worden omgezet in Batch-pools, taken en taakbewerkingen. CycleCloud behoudt het werkingsmodel van de scheduler.
Je hebt Slurm nodig, maar wilt de ondersteunende Azure-infrastructuur niet ontwerpen uit individuele componenten. Azure CycleCloud-werkruimte voor Slurm De Marketplace-oplossing biedt een vooraf gedefinieerde Slurm-omgeving die je na de implementatie kunt configureren.

Kies niet alleen voor Batch om het beheren van virtuele machines te vermijden. Als schedulercompatibiliteit een vereiste is, kan het vertalen van bestaande schedulerworkflows naar het Batch-programmeermodel een applicatieherontwerp worden. Kies in plaats daarvan voor CycleCloud of Workspace voor Slurm.

Registreer vóór de implementatie in productie waarom Batch geschikt is, welke alternatieven je hebt afgewezen, de schatting van de piekbelasting en capaciteit, het herstelgedrag bij onderbroken taken en de gebenchmarkte tijd en kosten per representatieve taak. Voor capaciteits- en fallbackplanning, zie Plan voor batchcapaciteit. Voor CycleCloud, zie Plan en schaal HPC-clusters.

Voer parallelle workloads uit

Batch is bijzonder geschikt voor intrinsiek parallelle (ook wel bekend als ‘genant parallelle’) workloads. Deze workloads hebben toepassingen die onafhankelijk kunnen worden uitgevoerd, waarbij elk exemplaar een deel van het werk voltooit. Wanneer de toepassingen worden uitgevoerd, kunnen ze toegang krijgen tot een aantal algemene gegevens, maar ze communiceren niet met andere instanties van de toepassing. 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.

Enkele voorbeelden van intrinsiek parallelle workloads die u kunt overbrengen naar Batch:

  • Modellering van financiële risico's met behulp van Monte Carlo-simulaties
  • Rendering van VFX en 3D-afbeeldingen
  • Analyse en verwerking van beelden
  • Transcodering van media
  • Genetische sequentieanalyse
  • Optische tekenherkenning (OCR)
  • Gegevensopname, -verwerking en ETL-bewerkingen
  • Software-testuitvoering

U kunt met Batch ook nauw gekoppelde workloads uitvoeren, waarbij de toepassingen die u uitvoert met elkaar moeten communiceren, in plaats van dat ze onafhankelijk van elkaar worden uitgevoerd. Nauw gekoppelde toepassingen gebruiken normaal gesproken de Message Passing Interface (MPI) API. U kunt uw nauw gekoppelde workloads met Batch uitvoeren met behulp van Microsoft MPI of Intel MPI. Toepassingsprestaties verbeteren met gespecialiseerde HPC en GPU-geoptimaliseerde VM-grootten.

Enkele voorbeelden van nauw gekoppelde workloads:

  • Beperkte elementanalyse
  • Vloeistofdynamica
  • AI-training met meerdere knooppunten

Met behulp van Batch kunnen veel nauw gekoppelde taken parallel worden uitgevoerd. U kunt bijvoorbeeld meerdere simulaties uitvoeren van een vloeistof die door een pijp stroomt met verschillende pijpbreedten.

Aanvullende functies van Batch

Batch ondersteunt grootschalige rendering-workloads met hulpprogramma's voor rendering inclusief Autodesk Maya, 3ds Max, Arnold en V-Ray.

U kunt ook Batch-taken uitvoeren als onderdeel van een grotere Azure-werkstroom, beheerd door hulpprogramma's zoals Azure Data Factory.

Hoe het werkt

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. Deze pool kan uw 'render farm' zijn, die tientallen, honderden of zelfs duizenden kernen aan uw renderingjob beschikbaar stelt.

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.

Diagram van de stappen in een batch-oplossing.

Stap Beschrijving
1. Upload invoerbestanden en de toepassingen om deze bestanden te verwerken naar uw 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. De toepassingsbestanden kunnen scripts of toepassingen bevatten die de gegevens verwerken, zoals een mediatranscoder.
2. Maak een Batch-poolmet rekenknooppunten in uw Batch-account, een taak voor het uitvoeren van de workload in de pool en taken in de taak. Rekenknooppunten zijn de virtuele machines die uw taken uitvoeren. Geef eigenschappen voor de pool op, zoals het aantal en de grootte van de knooppunten, een Windows- of Linux-VM-installatiekopie, en een toepassing die wordt geïnstalleerd wanneer de knooppunten aan de pool worden toegevoegd. Beheer de kosten en grootte van de pool met behulp van Azure Spot-VM's of door het aantal knooppunten automatisch te schalen wanneer de workload verandert.

Wanneer u taken aan een taak toevoegt, plant de Batch-service automatisch de taken voor uitvoering op de rekenknooppunten in de pool. Elke taak maakt gebruik van de toepassing die u hebt geüpload om de invoerbestanden te verwerken.
3. Invoerbestanden en de toepassingen downloaden naar Batch Voordat elke taak wordt uitgevoerd, kunnen de invoergegevens die worden verwerkt, worden gedownload naar het toegewezen knooppunt. Als de toepassing nog niet op de pool-knooppunten is geïnstalleerd, kan deze in plaats daarvan hier worden gedownload. Als het downloaden vanuit Azure Storage is voltooid, wordt de taak wordt uitgevoerd op het toegewezen knooppunt.
4. Taakuitvoering bewaken Wanneer de taken worden uitgevoerd, kunt u in Batch een query uitvoeren om de voortgang van de taak en de bijbehorende opdrachten te controleren. Uw clienttoepassing of -service communiceert met de Batch-service via HTTPS. Omdat u mogelijk duizenden taken bewaakt die worden uitgevoerd op duizenden rekenknooppunten, moet u de Batch-service efficiënt doorzoeken.
5. Taakuitvoer uploaden Nadat de taken zijn voltooid, kunnen ze hun resultaatgegevens uploaden naar Azure Storage. U kunt ook bestanden rechtstreeks ophalen van het bestandssysteem op een rekenknooppunt.
6. Uitvoerbestanden downloaden Wanneer uw monitoring detecteert dat de taken in uw job zijn afgerond, kan uw client-applicatie of service de uitvoergegevens downloaden voor verdere verwerking.

Houd er rekening mee dat de voorgaande werkstroom slechts één manier is om Batch te gebruiken en er zijn veel andere functies en opties. Bijvoorbeeld, kunt u meerdere taken parallel op elk rekenknooppunt uitvoeren. U kunt ook taakvoorbereiding en -voltooiingsopdrachten gebruiken om de knooppunten voor te bereiden op uw taken, en ze daarna opschonen.

Zie Batch-service werkstroom en resources voor een overzicht van kenmerken zoals pools, knooppunten, taken en opdrachten. Zie ook de meest recente Batch-service-updates.

Gegevenslocatie in uw regio

Azure Batch geen klantgegevens verplaatst of opslaat buiten de regio waar deze is geïmplementeerd.

Volgende stappen

Lees een van deze snelstartgidsen om snel aan de slag te gaan met Azure Batch:

Om verder te gaan, zie deze tutorials voor end-to-end scenario's: