Weergeven met Azure
Rendering is het proces van het nemen van 3D-modellen en het converteren ervan naar 2D-afbeeldingen. 3D-scènebestanden worden geschreven in toepassingen zoals Autodesk 3ds Max, Autodesk Maya en Blender. Renderingtoepassingen zoals Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray en Blender Cycles produceren 2D-afbeeldingen. Soms worden enkele afbeeldingen gemaakt op basis van de scènebestanden. Het is echter gebruikelijk om meerdere afbeeldingen te modelleren en weer te geven en deze vervolgens te combineren in een animatie.
De renderingworkload wordt sterk gebruikt voor speciale effecten (VFX) in de media- en entertainmentindustrie. Rendering wordt ook gebruikt in veel andere branches, zoals reclame, detailhandel, olie- en gasindustrie, en productie.
Het renderingproces is rekenintensief; er kunnen veel frames/afbeeldingen zijn om te produceren en elke afbeelding kan uren duren om weer te geven. Rendering is daarom een perfecte batchverwerkingsworkload die Azure kan gebruiken om veel renders parallel uit te voeren en een breed scala aan hardware te gebruiken, waaronder GPU's.
Waarom Azure gebruiken voor rendering?
Om verschillende redenen is rendering een workload die perfect geschikt is voor Azure:
- Renderingtaken kunnen worden gesplitst in veel onderdelen die parallel kunnen worden uitgevoerd met behulp van meerdere VM's:
- Animaties bestaan uit veel frames en elk frame kan parallel worden weergegeven. Hoe meer VM's beschikbaar zijn om elk frame te verwerken, hoe sneller alle frames en de animatie kunnen worden geproduceerd.
- Met sommige renderingsoftware kunnen enkele frames worden opgesplitst in meerdere delen, zoals tegels of segmenten. Elk stuk kan afzonderlijk worden weergegeven en vervolgens worden gecombineerd tot de uiteindelijke afbeelding wanneer alle onderdelen zijn voltooid. Hoe meer VM's beschikbaar zijn, hoe sneller een frame kan worden weergegeven.
- Voor renderingprojecten kan een enorme schaal zijn vereist:
- Afzonderlijke frames kunnen complex zijn en veel uren nodig hebben om weer te geven, zelfs op high-end hardware; animaties kunnen bestaan uit honderdduizenden frames. Een enorme hoeveelheid rekenkracht is vereist om animaties van hoge kwaliteit binnen een redelijke tijd weer te geven. In sommige gevallen worden meer dan 100.000 kernen gebruikt om duizenden frames parallel weer te geven.
- Renderingprojecten zijn op projectbasis en vereisen verschillende rekenkracht:
- Wijs waar nodig reken- en opslagcapaciteit toe, schaal deze omhoog of omlaag op basis van de belasting tijdens een project en verwijder deze wanneer een project is voltooid.
- Betaal capaciteit wanneer deze wordt toegewezen, maar betaal er niet voor wanneer er geen belasting is, zoals tussen projecten.
- Geschikt voor bursts als gevolg van onverwachte wijzigingen; schaal hoger als er onverwachte wijzigingen te laat in een project zijn en deze wijzigingen volgens een strak schema moeten worden verwerkt.
- Kies uit een brede selectie hardware op basis van toepassing, workload en tijdsbestek:
- Er is een brede selectie hardware beschikbaar in Azure die kan worden toegewezen en beheerd met Batch.
- Afhankelijk van het project kan de vereiste voor de beste prijs/prestaties of de beste algehele prestaties zijn. Verschillende scènes en/of renderingtoepassingen kunnen verschillende geheugenvereisten hebben. Sommige renderingtoepassingen kunnen GPU's gebruiken voor de beste prestaties of bepaalde functies.
- Lage prioriteit of Azure Spot-VM's verlagen de kosten:
- Vm's met lage prioriteit en spot-VM's zijn beschikbaar voor een grote korting in vergelijking met standaard-VM's en zijn geschikt voor sommige taaktypen.
Bestaande on-premises renderingomgeving
Het meest voorkomende geval is dat er een bestaande on-premises renderfarm is die wordt beheerd door een renderbeheertoepassing zoals PipelineFX Qube, Royal Render, Thinkbox Deadline of een aangepaste toepassing. De vereiste is om de on-premises renderfarmcapaciteit uit te breiden met behulp van Azure-VM's.
Azure-infrastructuur en -services worden gebruikt om een hybride omgeving te maken waarin Azure wordt gebruikt om de on-premises capaciteit aan te vullen. Voorbeeld:
- Gebruik een virtueel netwerk om de Azure-resources in hetzelfde netwerk te plaatsen als de on-premises renderfarm.
- Gebruik Avere vFXT voor Azure of Azure HPC Cache om bronbestanden in Azure op te cachen om het bandbreedtegebruik en de latentie te verminderen, waardoor de prestaties worden gemaximaliseerd.
- Zorg ervoor dat de bestaande licentieserver zich in het virtuele netwerk bevindt en koop zo nodig meer licenties voor de extra Azure-capaciteit.
Geen bestaande renderfarm
Clientwerkstations kunnen rendering uitvoeren, maar de renderingbelasting neemt toe en het duurt te lang om alleen werkstationcapaciteit te gebruiken.
Er zijn twee hoofdopties beschikbaar:
Implementeer een on-premises rendermanager, zoals Royal Render, en configureer een hybride omgeving om Azure te gebruiken wanneer er meer capaciteit of prestaties nodig zijn. Een rendermanager is speciaal afgestemd op renderingworkloads en bevat invoegtoepassingen voor de populaire clienttoepassingen, waardoor u eenvoudig renderingtaken kunt verzenden.
Een aangepaste oplossing met behulp van Azure Batch om de rekencapaciteit toe te wijzen en te beheren en de taakplanning te bieden om de rendertaken uit te voeren.
Volgende stappen
Meer informatie over azure Batch-renderingmogelijkheden.