Rendering tramite Azure

Il rendering è il processo di conversione di modelli 3D in immagini 2D. I file delle scene 3D vengono creati in applicazioni come Autodesk 3ds Max, Autodesk Maya e Blender. Le applicazioni di rendering come Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray e Blender Cycles producono immagini 2D. A volte dai file delle scene vengono create singole immagini. Tuttavia, è prassi comune eseguire la modellazione e il rendering di più immagini e quindi combinarle in un'animazione.

Il carico di lavoro di rendering viene usato in modo intensivo per gli effetti speciali (VFX) nel settore dei media e dell'intrattenimento. Il rendering viene usato anche in molti altri settori, tra cui quelli pubblicitario, manifatturiero, petrolchimico e della vendita al dettaglio.

Il processo di rendering usa risorse di calcolo in modo intensivo, in quanto possono essere presenti molti fotogrammi/immagini da produrre e il rendering di ogni immagine può richiedere molte ore. Il rendering è quindi un carico di lavoro perfetto per l'elaborazione batch che può sfruttare Azure per eseguire molti rendering in parallelo e usare un'ampia gamma di hardware, incluse gpu.

Perché usare Azure per il rendering?

Per molti motivi, il rendering è un carico di lavoro ideale per Azure:

  • I processi di rendering possono essere suddivisi in molte parti, che a loro volta possono essere eseguite in parallelo usando diverse macchine virtuali:
    • Le animazioni sono costituite da molti fotogrammi, di ciascuno dei quali è possibile eseguire il rendering in parallelo. Più sono le macchine virtuali disponibili per elaborare ogni fotogramma, più velocemente possono essere prodotti tutti i fotogrammi e l'animazione.
    • Alcuni software di rendering permettono la suddivisione di singoli fotogrammi in più parti, ad esempio in riquadri o sezioni. Di ogni parte è possibile eseguire il rendering separatamente, per poi ricombinarle nell'immagine finale al termine di tutte le operazioni. Più sono le macchine virtuali disponibili, più rapidamente avverrà il rendering di un fotogramma.
  • I progetti di rendering possono richiedere una scalabilità elevatissima:
    • Il rendering di singoli fotogrammi, che possono essere anche molto complessi, può richiedere molte ore, anche su hardware di fascia alta. Le animazioni possono essere costituite da centinaia di migliaia di fotogrammi. Per il rendering di animazioni di qualità elevata, è necessaria una notevole capacità di calcolo in un periodo di tempo ragionevole. In alcuni casi, sono stati usati oltre 100.000 core per il rendering di migliaia di fotogrammi in parallelo.
  • Le attività di rendering sono basate sul progetto e richiedono capacità di calcolo variabili:
    • Allocare la capacità di calcolo e archiviazione nel modo necessario, aumentarla o ridurla in base al carico durante un progetto e rimuoverla al termine del progetto.
    • Pagare per la capacità solo dopo che è stata allocata, evitando di pagare in assenza di carico, ad esempio tra progetti.
    • Predisporre l'ambiente per i picchi dovuti a modifiche impreviste: aumentare la capacità in caso di modifiche impreviste nelle fasi successive di un progetto se queste modifiche devono essere elaborate in tempi ridotti.
  • Scegliere tra un'ampia gamma di opzioni hardware in base ad applicazione, carico di lavoro e intervallo di tempo:
    • In Azure è disponibile una vasta gamma di soluzioni hardware che possono essere allocate e gestite con Batch.
    • A seconda del progetto, il requisito più importante può essere il miglior rapporto tra prezzo e prestazioni o migliori prestazioni nel complesso. Scene e/o applicazioni di rendering diverse avranno requisiti di memoria diversi. Alcune applicazioni di rendering possono sfruttare le GPU per ottenere prestazioni ottimali o determinate funzionalità.
  • Le macchine virtuali spot o con priorità bassa riducono i costi:
    • Le macchine virtuali spot e con priorità bassa sono disponibili per uno sconto elevato rispetto alle macchine virtuali standard e sono adatte per alcuni tipi di processo.

Ambiente di rendering locale esistente

Il caso più comune è che esista una farm di rendering locale esistente gestita da un'applicazione di gestione del rendering, ad esempio PipelineFX Qube, Royal Render, Thinkbox Deadline o un'applicazione personalizzata. Il requisito consiste nell'estendere la capacità della farm di rendering locale tramite macchine virtuali di Azure.

L'infrastruttura e i servizi di Azure vengono usati per creare un ambiente ibrido in cui Viene usato Azure per integrare la capacità locale. Ad esempio:

  • Usare un Rete virtuale per inserire le risorse di Azure nella stessa rete della farm di rendering locale.
  • Usare Avere vFXT per Azure o Azure Cache HPC per memorizzare nella cache i file di origine in Azure per ridurre l'uso e la latenza della larghezza di banda, ottimizzando le prestazioni.
  • Verificare che il server licenze esistente si trova nella rete virtuale e acquistare le licenze aggiuntive necessarie per soddisfare la capacità aggiuntiva basata su Azure.

Nessuna farm di rendering esistente

Le workstation client possono eseguire il rendering, ma il carico di rendering aumenta e richiede troppo tempo per usare esclusivamente la capacità della workstation.

Sono disponibili due opzioni principali:

  • Distribuire un gestore di rendering locale, ad esempio Royal Render, e configurare un ambiente ibrido per l'uso di Azure quando è necessaria ulteriore capacità o prestazioni. Un gestore di rendering è specifico per i carichi di lavoro di rendering e includerà plug-in per le applicazioni client più diffuse, consentendo un facile invio di processi di rendering.

  • Soluzione personalizzata che usa Azure Batch per allocare e gestire la capacità di calcolo, oltre a fornire la pianificazione dei processi per l'esecuzione dei processi di rendering.

Passaggi successivi

Informazioni su come usare l'infrastruttura e i servizi di Azure per estendere una farm di rendering locale esistente.

Altre informazioni sulle funzionalità di rendering di Azure Batch.