Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare Azure Batch per eseguire in modo efficiente processi batch paralleli e HPC (High Performance Computing) su larga scala in Azure. Azure Batch crea e gestisce un pool di nodi di calcolo (macchine virtuali), installa le applicazioni da eseguire e pianifica l'esecuzione dei processi nei nodi. Non è necessario installare, gestire o dimensionare cluster o software di pianificazione dei processi. Si usano invece API e strumenti Batch, script della riga di comando o il portale di Azure per configurare, gestire e monitorare i processi.
Gli sviluppatori possono usare Batch come un servizio di piattaforma per compilare applicazioni SaaS o app client in cui è richiesta l'esecuzione su larga scala. È possibile ad esempio creare un servizio con Batch per eseguire una simulazione di rischio Monte Carlo per una società di servizi finanziari oppure un servizio per l'elaborazione di molte immagini.
Non sono previsti costi aggiuntivi per l'uso di Batch. Si paga solo per le risorse sottostanti utilizzate, ad esempio macchine virtuali, archiviazione e rete.
Per un confronto tra Batch e altre soluzioni HPC in Azure, vedere HPC (High Performance Computing) in Azure.
Eseguire carichi di lavoro paralleli
Batch funziona bene con carichi di lavoro intrinsecamente paralleli, a volte definiti "imbarazzantemente paralleli". Questi carichi di lavoro hanno applicazioni che possono essere eseguite in modo indipendente, con ogni istanza che completa parte del lavoro. Quando sono in esecuzione, le applicazioni possono accedere ad alcuni dati comuni, ma non comunicano con altre istanze dell'applicazione. I carichi di lavoro intrinsecamente paralleli possono essere quindi eseguiti su larga scala, a seconda della quantità di risorse di calcolo disponibili per l'esecuzione simultanea di applicazioni.
Alcuni esempi di carichi di lavoro intrinsecamente paralleli che possono essere usati in Batch sono i seguenti:
- Modellazione di rischi finanziari tramite simulazioni Monte Carlo
- Rendering di immagini VFX e 3D
- Analisi ed elaborazione di immagini
- Transcodifica multimediale
- Analisi delle sequenze genetiche
- Riconoscimento ottico dei caratteri (OCR)
- Inserimento dati, elaborazione e operazioni ETL
- Esecuzione di test del software
È inoltre possibile usare Batch per eseguire carichi di lavoro strettamente associati, in cui le applicazioni in esecuzione devono comunicare tra loro, in contrapposizione all'esecuzione indipendente. Le applicazioni strettamente associate usano generalmente l'API MPI (Message Passing Interface). È possibile eseguire i carichi di lavoro strettamente associati con Batch usando Microsoft MPI o Intel MPI. Migliorare le prestazioni delle applicazioni con dimensioni delle macchine virtuali specializzate per HPC e ottimizzate per la GPU.
Alcuni esempi di carichi di lavoro strettamente associati sono i seguenti:
- Analisi degli elementi finiti
- Fluidodinamica
- Training di intelligenza artificiale multinodo
È possibile eseguire molti processi strettamente associati in parallelo con Batch. Ad esempio, è possibile eseguire più simulazioni di un liquido che scorre attraverso un tubo con larghezze di tubo variabili.
Altre funzionalità Batch
Batch supporta carichi di lavoro di rendering su larga scala con strumenti di rendering che includono Autodesk Maya, 3ds Max, Arnold e V-Ray.
È anche possibile eseguire processi Batch nell'ambito di un flusso di lavoro di Azure più ampio per la trasformazione dei dati, gestito da strumenti come Azure Data Factory.
Funzionamento
Un caso d'uso comune di Batch prevede la scalabilità orizzontale di carichi di lavoro intrinsecamente paralleli, come il rendering di immagini di scene 3D, su un pool di nodi di calcolo. Questo pool può essere usato come una "farm di rendering", che fornisce decine, centinaia o anche migliaia di core per il processo di rendering.
Il diagramma seguente mostra i passaggi di un normale flusso di lavoro di Batch con un'applicazione client o un servizio ospitato che usa Batch per l'esecuzione di un carico di lavoro parallelo.
| Procedi | Descrizione |
|---|---|
| 1. Caricare i file di input e le applicazioni per elaborare tali file nell'account Archiviazione di Azure. | I file di input possono essere tutti i dati elaborati dall'applicazione, ad esempio dati di modellazione finanziaria o file video da transcodificare. I file dell'applicazione possono includere script o applicazioni che elaborano i dati, ad esempio un transcodificatore di file multimediali. |
| Creare un pool Batch di nodi di calcolo nell'account Batch, un processo per eseguire il carico di lavoro nel pool e attività nel processo. | I nodi di calcolo corrispondono alle VM che eseguono le attività. Specificare le proprietà per il pool, ad esempio il numero e le dimensioni dei nodi, un'immagine di macchina virtuale Windows o Linux e l'applicazione da installare quando i nodi vengono aggiunti al pool. Gestire i costi e le dimensioni del pool usando macchine virtuali spot di Azure o ridimensionando automaticamente il numero di nodi man mano che cambia il carico di lavoro. Quando si aggiungono attività a un processo, il servizio Batch pianifica automaticamente le attività per l'esecuzione nei nodi di calcolo del pool. Ogni attività usa l'applicazione caricata per elaborare i file di input. |
| 3. Scarica file di input e le applicazioni in Batch | Prima dell'esecuzione di ogni attività, può scaricare i dati di input elaborati nel nodo assegnato. Se l'applicazione non è già installata nei nodi del pool, è possibile scaricarla a questo punto. Al termine del download da Archiviazione di Azure, l'attività viene eseguita nel nodo assegnato. |
| 4. Monitorare l'esecuzione delle attività | Durante l'esecuzione delle attività, eseguire query sul servizio Batch per monitorare lo stato del processo e le relative attività. L'applicazione o il servizio client comunica con il servizio Batch tramite HTTPS. Poiché è possibile monitorare migliaia di attività in esecuzione in migliaia di nodi di calcolo, assicurarsi di eseguire query sul servizio Batch in modo efficiente. |
| 5. Caricare l'output dell'attività | Man mano che le attività vengono completate, è possibile caricare i dati risultanti in Archiviazione di Azure. È anche possibile recuperare i file direttamente dal file system in un nodo di calcolo. |
| 6. Scaricare i file di output | Quando il sistema di monitoraggio rileva che le attività del processo sono state completate, l'applicazione client o il servizio client possono scaricare i dati di output per un'ulteriore elaborazione. |
Tenere presente che il flusso di lavoro precedente è solo un modo per usare Batch e sono disponibili molte altre funzionalità e opzioni. È ad esempio possibile eseguire più attività in parallelo in ogni nodo di calcolo, nonché usare attività di preparazione e completamento di processi per preparare i nodi per i processi e quindi eseguire la pulizia in un secondo momento.
Per una panoramica di funzionalità come pool, nodi, processi e attività, vedere Flusso di lavoro e risorse del servizio Batch. Vedere anche gli aggiornamenti più recenti per il servizio Batch.
Residenza dei dati nell'area geografica
Azure Batch non sposta o archivia i dati dei clienti all'esterno dell'area in cui viene distribuita.
Passaggi successivi
Iniziare a usare Azure Batch con una di queste guide introduttive: