Progettare un processo di Azure Batch per eseguire l'attività parallela
Azure Batch use le attività parallele per suddividere un processo tra i nodi di calcolo.
Come progettista della soluzione per l'organizzazione no profit, si vuole capire come progettare un processo di Azure Batch e come abilitare l'elaborazione parallela, in modo che queste capacità possano essere usate per lo scenario OCR.
In questa unità si apprenderanno gli elementi chiave di un'attività parallela di Batch.
Uso di Azure Batch con l'interfaccia della riga di comando di Azure
Si decide di creare la soluzione che aiuterà l'organizzazione no profit a perseguire la propria mission usando Azure Batch e l'interfaccia della riga di comando, pertanto è possibile definire un rapido framework e migliorarlo in modo incrementale, senza investire tempo nello scaffolding di tutto il codice che sarebbe altrimenti richiesto per iniziare. È vero che altri metodi di creazione di soluzioni Azure Batch come .NET e Node.js offrono un controllo più completo e più granulare di Batch e altre API di Azure, ma nessuno di questi metodi può corrispondere all'agilità e al feedback immediato che si ottiene inviando comandi nell'interfaccia della riga di comando e osservando i risultati.
Esempio di attività parallela
Per acquisire dimestichezza con Azure Batch e l'interfaccia della riga di comando, si opta per un semplice modello di verifica per dimostrare che i diversi nodi lavorano in parallelo. Si passerà diverse volte per l'interfaccia della riga di comando, si aggiungerà un'attività numerata per ogni iterazione del ciclo e in un secondo momento si scaricheranno e si esamineranno i metadati generati da ogni attività. Questi metadati mostrano il servizio Azure Batch che pianifica le attività mano a mano che vengono create in diversi nodi in modo sequenziale, in modo che eseguano tutte il loro lavoro in parallelo.
Questo tipo di modello di verifica è quello su cui effettivamente si basano molte applicazioni reali di Azure Batch. Ad esempio, nello scenario OCR le attività potrebbero anche installare software come Imagemagick allo scopo di convertire le immagini di depurazione dell'acqua nel formato TIF e quindi installare Tesseract per eseguire il lavoro di conversione. Queste attività potrebbero essere partizionate in modo che ogni nodo di lavoro esegua una parte del lavoro di riconoscimento ottico dei caratteri in parallelo con gli altri per completare il processo più rapidamente.
Anche questo modello di verifica illustrerà i componenti principali di Azure Batch che lavorano in parallelo. Verranno creati un pool, i nodi di lavoro, un processo e le attività, il tutto tramite l'interfaccia della riga di comando di Azure per inviare comandi e ottenere un riscontro immediato.
Vantaggi dell'uso di Azure Batch
Azure Batch è particolarmente adatto per eseguire processi batch paralleli e HPC (High Performance Computing) su larga scala. Il servizio gestisce automaticamente tutte le operazioni, comprese la gestione e la pianificazione di tutti i nodi e le applicazioni necessari per eseguire gli scenari. È anche un servizio gratuito, pertanto si pagano solo le risorse di rete, archiviazione e calcolo sottostanti che vengono usate.