Rendering di video 3D

Batch
Archiviazione
Rete virtuale
Set di scalabilità di macchine virtuali

Il rendering video 3D è un processo di lunga durata il cui completamento richiede un'elevata quantità di tempo CPU. In un singolo computer, il processo di generazione di un file video da asset statici può richiedere ore o addirittura giorni, a seconda della lunghezza e della complessità del video che si intende produrre. Per eseguire queste attività, molte aziende acquistano costosi computer desktop di fascia alta oppure investono in farm di rendering di grandi dimensioni a cui possono inviare i processi. Sfruttando Azure Batch, tuttavia, la stessa potenza è disponibile quando necessario e si arresta in caso contrario, senza investimenti di capitale.

Batch offre un'esperienza di gestione e di pianificazione dei processi coerente indipendentemente dal fatto che si selezionino nodi di calcolo Windows Server o Linux. Con Batch, è possibile usare le applicazioni Windows o Linux esistenti, come AutoDesk Maya e Blender, per eseguire processi di rendering su larga scala in Azure.

Casi d'uso pertinenti

Gli altri casi d'uso pertinenti includono:

  • Modellazione 3D
  • Rendering VFX (Visual FX)
  • Transcodifica di video
  • Elaborazione, correzione dei colori e ridimensionamento di immagini

Architettura

Panoramica dell'architettura dei componenti coinvolti in una soluzione HPC nativa del cloud con Azure Batch

Questo scenario illustra un flusso di lavoro che usa Azure Batch. Il flusso di dati è il seguente:

  1. Caricare i file di input e le applicazioni per elaborarli nell'account di archiviazione di Azure.
  2. Creare un pool Batch di nodi di calcolo nell'account Batch, un processo per eseguire il carico di lavoro nel pool e le attività nel processo
  3. Scaricare i file di input e le applicazioni in Batch.
  4. Monitorare l'esecuzione delle attività.
  5. Caricare l'output delle attività.
  6. Scaricare i file di output.

Per semplificare questo processo, è anche possibile usare i plug-in di Batch per Maya e 3DS Max

Componenti

Azure Batch si basa sulle tecnologie di Azure seguenti:

Considerazioni

Dimensioni di macchine virtuali disponibili per Azure Batch

Nonostante la maggior parte dei clienti di soluzioni di rendering scelga risorse con un'elevata potenza di CPU, la scelta delle macchine virtuali per altri carichi di lavoro che usano set di scalabilità di macchine virtuali potrebbe essere effettuata in modo diverso e dipendere dai fattori seguenti:

  • L'esecuzione dell'applicazione è associata alla memoria?
  • L'applicazione deve usare GPU?
  • I tipi di processi presentano elevati livelli di parallelismo o richiedono connettività InfiniBand per processi strettamente associati?
  • È necessaria un'elevata velocità di I/O per accedere alle risorse di archiviazione nei nodi di calcolo.

Azure offre un'ampia gamma di dimensioni di vm in grado di soddisfare ognuno dei requisiti dell'applicazione precedenti, alcune sono specifiche per HPC, ma anche le dimensioni più piccole possono essere usate per fornire un'implementazione efficace della griglia:

  • Dimensioni di macchine virtuali HPC: dato che il rendering è associato alla CPU, è consigliabile usare macchine virtuali di Azure serie H. Queste macchine virtuali sono specificamente realizzate per esigenze di calcolo di fascia alta, sono disponibili in dimensioni da 8 a 16 vCPU core e sono dotate di memoria DDR4, archiviazione temporanea in unità SSD e tecnologia Haswell E5 Intel.
  • Dimensioni di VM GPU: le dimensioni di VM ottimizzate per la GPU sono macchine virtuali specializzate disponibili con una o più GPU NVIDIA. Queste dimensioni sono progettate per carichi di lavoro di visualizzazione oppure a elevato utilizzo di calcolo o di grafica.
  • Le dimensioni NC, NCv2, NCv3 e ND sono ottimizzate per applicazioni e algoritmi a elevato utilizzo di calcolo e reti, come applicazioni e simulazioni basate su OpenCL e CUDA, intelligenza artificiale e Deep Learning. Le dimensioni NV sono ottimizzate e progettate per scenari di visualizzazione remota, streaming, giochi, codifica e VDI che usano framework come OpenGL e DirectX.
  • Dimensioni di macchine virtuali ottimizzate per la memoria: quando è necessaria una maggiore quantità di memoria, queste dimensioni di macchine virtuali offrono un rapporto memoria-CPU superiore.
  • Dimensioni di macchine virtuali per utilizzo generico: sono disponibili anche dimensioni di macchine virtuali per utilizzo generico che offrono un rapporto CPU-memoria equilibrato.

Alternativi

Se si necessita di maggiore controllo sull'ambiente di rendering in Azure o di un'implementazione ibrida, l'elaborazione con CycleCloud consente di orchestrare una griglia IaaS nel cloud e, usando le stesse tecnologie Azure sottostanti di Azure Batch, rende efficiente il processo di creazione e gestione di una griglia IaaS. Per altre informazioni sui principi di progettazione, usare il collegamento seguente:

Per una panoramica completa di tutte le soluzioni HPC disponibili in Azure, vedere l'articolo Soluzioni HPC, batch e Big Compute con macchine virtuali di Azure

Disponibilità

Funzionalità di monitoraggio dei componenti di Azure Batch sono disponibili tramite diversi servizi, strumenti e API. Il monitoraggio è illustrato in maggiore dettaglio nell'articolo Monitorare le soluzioni Batch.

Scalabilità

I pool in un account Azure Batch possono essere ridimensionati manualmente oppure automaticamente con una formula basata sulle metriche di Azure Batch. Per altre informazioni in proposito, vedere l'articolo Creare una formula di scalabilità automatica per la scalabilità dei nodi di calcolo in un pool Batch.

Sicurezza

Per indicazioni generali sulla progettazione di soluzioni sicure, vedere la documentazione sulla sicurezza di Azure.

Resilienza

Attualmente non sono presenti funzionalità di failover in Azure Batch, ma è consigliabile usare questa procedura per garantire la disponibilità in caso di interruzione non pianificata:

  • Creare un account Azure Batch in un percorso di Azure alternativo con un account di archiviazione alternativo
  • Creare gli stessi pool di nodi con lo stesso nome, con 0 nodi allocati
  • Assicurarsi che le applicazioni vengano create e aggiornate nell'account di archiviazione alternativo
  • Caricare i file di input e inviare i processi all'account Azure Batch alternativo

Distribuire lo scenario

Creare manualmente un account e pool Azure Batch

Questo scenario illustra il funzionamento di Azure Batch e presenta Azure Batch Labs come soluzione SaaS di esempio che è possibile sviluppare per i clienti:

Azure Batch Labs

Distribuire i componenti

Il modello distribuirà quanto segue:

  • Un nuovo account Azure Batch
  • Un account di archiviazione
  • Un pool di nodi associato all'account Batch
  • Il pool di nodi verrà configurato per l'uso di VM A2 v2 con immagini di Canonical Ubuntu
  • Il pool di nodi conterrà inizialmente 0 macchine virtuali e richiederà il ridimensionamento manuale per l'aggiunta di macchine virtuali

Fare clic sul collegamento seguente per distribuire la soluzione.

Distribuisci in Azure

Altre informazioni sui Resource Manager personalizzati

Prezzi

Il costo correlato all'uso di Azure Batch dipenderà dalle dimensioni delle macchine virtuali usate per i pool e dalla durata dell'allocazione e dell'esecuzione. Alla creazione di un account Azure Batch non è associato alcun costo. È necessario tenere in considerazione le risorse di archiviazione e i dati in uscita, perché comportano l'applicazione di costi aggiuntivi.

Di seguito sono riportati esempi dei costi che potrebbero essere addebitati per un processo completato in 8 ore con un diverso numero di server.

  • 100 macchine virtuali con CPU ad alte prestazioni: stima dei costi

    100 x H16m (16 core, 225 GB di RAM, 512 GB di archiviazione Premium), 2 TB di archiviazione BLOB, 1 TB in uscita

  • 50 macchine virtuali con CPU ad alte prestazioni: stima dei costi

    50 x H16m (16 core, 225 GB di RAM, 512 GB di archiviazione Premium), 2 TB di archiviazione BLOB, 1 TB in uscita

  • 10 macchine virtuali con CPU ad alte prestazioni: stima dei costi

    10 x H16m (16 core, 225 GB di RAM, 512 GB di archiviazione Premium), 2 TB di archiviazione BLOB, 1 TB in uscita

Prezzi per le macchine virtuali con priorità bassa

Azure Batch supporta anche l'uso di macchine virtuali con priorità bassa nei pool di nodi e questo può offrire un significativo risparmio sui costi. Per altre informazioni, incluso un confronto dei prezzi tra macchine virtuali standard e macchine virtuali con priorità bassa, vedere Prezzi di Azure Batch.

Nota

Le macchine virtuali con priorità bassa sono adatte solo per alcune applicazioni e carichi di lavoro.

Panoramica di Azure Batch

Azure Batch documentazione

Uso di contenitori in Azure Batch