3D-Videorendering

Azure
Batch
Storage
GitHub
Windows
Windows Server

3D-Videorendering ist ein zeitaufwendiger Prozess, der sehr viel CPU-Zeit beansprucht.3D video rendering is a time consuming process that requires a significant amount of CPU time to complete. Auf einem einzelnen Computer kann das Generieren einer Videodatei aus statischen Medienobjekten Stunden oder sogar Tage dauern – je nach Länge und Komplexität des produzierten Videos.On a single machine, the process of generating a video file from static assets can take hours or even days depending on the length and complexity of the video you are producing. Viele Unternehmen erwerben entweder teure Highend-Computer für diese Aufgaben oder investieren in große Renderfarmen, an die Aufträge übermittelt werden können.Many companies will purchase either expensive high end desktop computers to perform these tasks, or invest in large render farms that they can submit jobs to. Bei Nutzung von Azure Batch ist diese hohe Leistung aber für Sie verfügbar, wenn Sie sie benötigen, und wird heruntergefahren, wenn Sie sie nicht benötigen – ohne jegliche Kapitalinvestitionen.However, by taking advantage of Azure Batch, that power is available to you when you need it and shuts itself down when you don't, all without any capital investment.

Mit Batch erhalten Sie unabhängig davon, ob Sie Windows Server- oder Linux-Computeknoten wählen, eine einheitliche Verwaltungsoberfläche und Auftragsplanung.Batch gives you a consistent management experience and job scheduling, whether you select Windows Server or Linux compute nodes. Für Batch können Sie Ihre vorhandenen Windows- oder Linux-Anwendungen nutzen, z.B. AutoDesk Maya und Blender, um in Azure umfangreiche Renderaufträge auszuführen.With Batch, you can use your existing Windows or Linux applications, including AutoDesk Maya and Blender, to run large-scale render jobs in Azure.

Relevante AnwendungsfälleRelevant use cases

Zu den weiteren relevanten Anwendungsfällen zählen:Other relevant use cases include:

  • 3D-Modellierung3D modeling
  • VFX-Rendering (Visual FX)Visual FX (VFX) rendering
  • VideotranscodierungVideo transcoding
  • Bildverarbeitung, Farbkorrektur und GrößenänderungImage processing, color correction, and resizing

AufbauArchitecture

Architekturübersicht über die Komponenten einer cloudbasierten HPC-Lösung mit Azure Batch

Dieses Szenario zeigt einen Workflow, der Azure Batch verwendet.This scenario shows a workflow that uses Azure Batch. Die Daten fließen wie folgt:The data flows as follows:

  1. Hochladen der Eingabedateien und der Anwendungen, mit denen diese Dateien verarbeitet werden, in Ihr Azure Storage-KontoUpload input files and the applications to process those files to your Azure Storage account.
  2. Erstellen eines Batch-Pools mit Computeknoten in Ihrem Batch-Konto, eines Auftrags zum Ausführen der Workload im Pool und von Aufgaben im AuftragCreate a Batch pool of compute nodes in your Batch account, a job to run the workload on the pool, and tasks in the job.
  3. Herunterladen von Eingabedateien und der Anwendungen in BatchDownload input files and the applications to Batch.
  4. Überwachen der AufgabenausführungMonitor task execution.
  5. Hochladen der AufgabenausgabeUpload task output.
  6. Herunterladen der AusgabedateienDownload output files.

Zur Vereinfachung dieses Prozesses können Sie auch die Batch-Plug-Ins für Maya & 3ds Max verwenden.To simplify this process, you could also use the Batch Plugins for Maya and 3ds Max

KomponentenComponents

Azure Batch basiert auf der folgenden Azure-Technologie:Azure Batch builds on the following Azure technologies:

ÜberlegungenConsiderations

Verfügbare Computergrößen für Azure BatchMachine Sizes available for Azure Batch

Die meisten Renderingkunden entscheiden sich zwar für Ressourcen mit hoher CPU-Leistung, für andere Workloads mit VM-Skalierungsgruppen werden virtuelle Computer aber ggf. anders ausgewählt und sind von verschiedenen Faktoren abhängig:While most rendering customers will choose resources with high CPU power, other workloads using virtual machine scale sets may choose VMs differently and will depend on a number of factors:

  • Ist die ausgeführte Anwendung speichergebunden?Is the application being run memory bound?
  • Müssen für die Anwendung GPUs verwendet werden?Does the application need to use GPUs?
  • Gilt für die Auftragstypen eine hohe Parallelität, oder ist für eng gekoppelte Aufträge eine Infiniband-Konnektivität erforderlich?Are the job types embarrassingly parallel or require infiniband connectivity for tightly coupled jobs?
  • Ist für den Zugriff auf Speicher auf den Computeknoten eine hohe E/A-Geschwindigkeit erforderlich?Require fast I/O to access storage on the compute Nodes.

Azure verfügt über einen weiten Bereich von VM-Größen, mit denen alle oben beschriebenen Anwendungsanforderungen erfüllt werden können. Einige gelten speziell für HPC, aber auch die kleinsten Größen können genutzt werden, um für eine effektive Rasterimplementierung zu sorgen:Azure has a wide range of VM sizes that can address each and every one of the above application requirements, some are specific to HPC, but even the smallest sizes can be used to provide an effective grid implementation:

  • HPC-VM-Größen Aufgrund der CPU-Bindung des Renderns empfiehlt Microsoft normalerweise die Verwendung von virtuellen Azure-Computern der H-Serie.HPC VM sizes Due to the CPU bound nature of rendering, Microsoft typically suggests the Azure H-Series VMs. Diese Art von virtuellem Computer ist speziell auf Highend-Computeranforderungen ausgelegt und verfügt über vCPU-Größen mit 8 oder 16 Kernen sowie über DDR4-Arbeitsspeicher, temporären SSD-Speicher und Haswell E5 Intel-Technologie.This type of VM is built specifically for high end computational needs, they have 8 and 16 core vCPU sizes available, and features DDR4 memory, SSD temporary storage, and Haswell E5 Intel technology.
  • GPU-VM-Größen GPU-optimierte VM-Größen sind für spezialisierte virtuelle Computer mit einzelnen oder mehreren NVIDIA-GPUs verfügbar.GPU VM sizes GPU optimized VM sizes are specialized virtual machines available with single or multiple NVIDIA GPUs. Diese Größen sind für rechenintensive, grafikintensive und visualisierungsorientierte Workloads vorgesehen.These sizes are designed for compute-intensive, graphics-intensive, and visualization workloads.
  • Die Größen NC, NCv2, NCv3 und ND sind für rechen- und netzwerkintensive Anwendungen und Algorithmen wie CUDA- und OpenCL-basierte Anwendungen und Simulationen sowie für KI und Deep Learning optimiert.NC, NCv2, NCv3, and ND sizes are optimized for compute-intensive and network-intensive applications and algorithms, including CUDA and OpenCL-based applications and simulations, AI, and Deep Learning. Die Größe NV ist für Remotevisualisierung, Streaming, Spiele, Codierung und VDI-Szenarien mit Frameworks wie OpenGL und DirectX optimiert und konzipiert.NV sizes are optimized and designed for remote visualization, streaming, gaming, encoding, and VDI scenarios using frameworks such as OpenGL and DirectX.
  • Arbeitsspeicheroptimierte VM-Größen Wenn mehr Arbeitsspeicher erforderlich ist, ermöglichen die arbeitsspeicheroptimierten VM-Größen ein höheres Arbeitsspeicher/CPU-Verhältnis.Memory optimized VM sizes When more memory is required, the memory optimized VM sizes offer a higher memory-to-CPU ratio.
  • Universelle VM-Größen Es sind auch universelle VM-Größen mit einem ausgewogenen Verhältnis von CPU zu Arbeitsspeicher verfügbar.General purposes VM sizes General-purpose VM sizes are also available and provide balanced CPU-to-memory ratio.

AlternativenAlternatives

Falls Sie eine bessere Kontrolle über Ihre Renderingumgebung in Azure oder eine Hybridimplementierung benötigen, kann CycleCloud-Computing die Orchestrierung eines IaaS-Rasters in der Cloud unterstützen.If you require more control over your rendering environment in Azure or need a hybrid implementation, then CycleCloud computing can help orchestrate an IaaS grid in the cloud. Indem die gleiche zugrunde liegende Azure-Technologie wie für Azure Batch verwendet wird, wird das Erstellen und Warten eines IaaS-Rasters zu einem effizienten Prozess.Using the same underlying Azure technologies as Azure Batch, it makes building and maintaining an IaaS grid an efficient process. Unter dem folgenden Link finden Sie weitere Informationen zu den Entwurfsprinzipien:To find out more and learn about the design principles use the following link:

Eine vollständige Übersicht über alle HPC-Lösungen, die für Sie in Azure verfügbar sind, finden Sie im Artikel HPC-, Batch- und Big Compute-Lösungen mit Azure-VMs.For a complete overview of all the HPC solutions that are available to you in Azure, see the article HPC, Batch, and Big Compute solutions using Azure VMs

VerfügbarkeitAvailability

Die Überwachung der Azure Batch-Komponenten ist über unterschiedliche Dienste, Tools und APIs möglich.Monitoring of the Azure Batch components is available through a range of services, tools, and APIs. Weitere Informationen zur Überwachung finden Sie im Artikel Überwachen von Batch-Lösungen.Monitoring is discussed further in the Monitor Batch solutions article.

SkalierbarkeitScalability

Pools eines Azure Batch-Kontos können entweder per manuellem Eingriff oder automatisch mit einer auf Azure Batch-Metriken basierenden Formel skaliert werden.Pools within an Azure Batch account can either scale through manual intervention or, by using a formula based on Azure Batch metrics, be scaled automatically. Weitere Informationen zur Skalierbarkeit finden Sie im Artikel Erstellen einer Formel für die automatische Skalierung von Computeknoten in einem Batch-Pool.For more information on scalability, see the article Create an automatic scaling formula for scaling nodes in a Batch pool.

SicherheitSecurity

Allgemeine Informationen zum Entwerfen sicherer Lösungen finden Sie in der Dokumentation zur Azure-Sicherheit.For general guidance on designing secure solutions, see the Azure Security Documentation.

ResilienzResiliency

Da in Azure Batch derzeit keine Failoverfunktion verfügbar ist, empfehlen wir die folgenden Schritte, um die Verfügbarkeit auch bei einem ungeplanten Ausfall sicherzustellen:While there is currently no failover capability in Azure Batch, we recommend using the following steps to ensure availability if there is an unplanned outage:

  • Erstellen eines Azure Batch-Kontos an einem anderen Azure-Standort mit einem anderen SpeicherkontoCreate an Azure Batch account in an alternate Azure location with an alternate Storage Account
  • Erstellen der gleichen Knotenpools mit dem gleichen Namen und null zugeordneten KnotenCreate the same node pools with the same name, with zero nodes allocated
  • Sicherstellen, dass Anwendungen erstellt und auf das alternative Speicherkonto aktualisiert werdenEnsure Applications are created and updated to the alternate Storage Account
  • Hochladen von Eingabedateien und Übermitteln von Aufträgen an das andere Azure Batch-KontoUpload input files and submit jobs to the alternate Azure Batch account

Bereitstellen des SzenariosDeploy the scenario

Manuelles Erstellen eines Azure Batch-Kontos und der PoolsCreate an Azure Batch account and pools manually

In diesem Szenario wird die Funktionsweise von Azure Batch veranschaulicht und Azure Batch Labs als SaaS-Beispiellösung verwendet, die für Ihre eigenen Kunden weiterentwickelt werden kann:This scenario demonstrates how Azure Batch works while showcasing Azure Batch Labs as an example SaaS solution that can be developed for your own customers:

Azure Batch LabsAzure Batch Labs

Bereitstellen der KomponentenDeploy the components

Über die Vorlage wird Folgendes bereitgestellt:The template will deploy:

  • Ein neues Azure Batch-KontoA new Azure Batch account
  • Ein SpeicherkontoA storage account
  • Einen Knotenpool, der dem Batch-Konto zugeordnet istA node pool associated with the batch account
  • Knotenpool wird für die Verwendung von A2 v2-VMs mit Canonical Ubuntu-Images konfiguriertThe node pool will be configured to use A2 v2 VMs with Canonical Ubuntu images
  • Der Knotenpool enthält anfänglich null virtuelle Computer, und zum Hinzufügen von virtuellen Computern ist eine manuelle Skalierung erforderlich.The node pool will contain zero VMs initially and will require you to manually scale to add VMs

Klicken Sie auf den Link unten, um die Lösung bereitzustellen.Click the link below to deploy the solution.

In Azure bereitstellenDeploy to Azure

Erfahren Sie mehr über Resource Manager-Vorlagen.Learn more about Resource Manager templates

PreisePricing

Die Kosten für die Nutzung von Azure Batch richten sich nach den VM-Größen, die für die Pools verwendet werden, sowie nach der Dauer der Zuordnung und Ausführung der virtuellen Computer. Für die Erstellung eines Azure Batch-Kontos fallen keine Kosten an.The cost of using Azure Batch will depend on the VM sizes that are used for the pools and how long these VMs are allocated and running, there is no cost associated with an Azure Batch account creation. Speicher und ausgehende Daten sollten berücksichtigt werden, da hierfür weitere Kosten anfallen.Storage and data egress should be taken into account as these will apply additional costs.

Hier sind Beispiele für Kosten angegeben, die für einen Auftrag anfallen können, der innerhalb von acht Stunden abgeschlossen wird, indem eine andere Zahl von Servern genutzt wird:The following are examples of costs that could be incurred for a job that completes in 8 hours using a different number of servers:

  • 100 virtuelle Computer mit Hochleistungs-CPU: Kostenschätzung100 High-Performance CPU VMs: Cost Estimate

    100 x H16m (16 Kerne, 225 GB RAM, 512 GB Storage Premium), 2 TB Blobspeicher, 1 TB ausgehender Datenverkehr100 x H16m (16 cores, 225 GB RAM, Premium Storage 512 GB), 2 TB Blob Storage, 1-TB egress

  • 50 virtuelle Computer mit Hochleistungs-CPU: Kostenschätzung50 High-Performance CPU VMs: Cost Estimate

    50 x H16m (16 Kerne, 225 GB RAM, 512 GB Storage Premium), 2 TB Blobspeicher, 1 TB ausgehender Datenverkehr50 x H16m (16 cores, 225 GB RAM, Premium Storage 512 GB), 2 TB Blob Storage, 1-TB egress

  • Zehn virtuelle Computer mit Hochleistungs-CPU: Kostenschätzung10 High-Performance CPU VMs: Cost Estimate

    10 x H16m (16 Kerne, 225 GB RAM, 512 GB Storage Premium), 2 TB Blobspeicher, 1 TB ausgehender Datenverkehr10 x H16m (16 cores, 225 GB RAM, Premium Storage 512 GB), 2 TB Blob Storage, 1-TB egress

Preise für virtuelle Computer mit niedriger PrioritätPricing for low-priority VMs

Azure Batch unterstützt auch die Verwendung virtueller Computer mit niedriger Priorität in den Knotenpools, was zu erheblichen Kosteneinsparungen führen kann.Azure Batch also supports the use of low-priority VMs in the node pools, which can potentially provide a substantial cost saving. Weitere Informationen sowie einen Preisvergleich zwischen virtuellen Standardcomputern und virtuellen Computern mit niedriger Priorität finden Sie unter Azure Batch – Preise.For more information, including a price comparison between standard VMs and low-priority VMs, see Azure Batch Pricing.

Hinweis

Virtuelle Computer mit niedriger Priorität sind nur für bestimmte Anwendungen und Workloads geeignet.Low-priority VMs are only suitable for certain applications and workloads.

Azure Batch: ÜbersichtAzure Batch Overview

Azure Batch-DokumentationAzure Batch Documentation

Verwenden von Containern in Azure BatchUsing containers on Azure Batch