3D-Videorendering

Batch
Storage
Virtual Network
Virtual Machine Scale Sets

3D-Videorendering ist ein zeitaufwendiger Prozess, der sehr viel CPU-Zeit beansprucht. 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. 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. 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.

Mit Batch erhalten Sie unabhängig davon, ob Sie Windows Server- oder Linux-Computeknoten wählen, eine einheitliche Verwaltungsoberfläche und Auftragsplanung. 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.

Relevante Anwendungsfälle

Zu den weiteren relevanten Anwendungsfällen zählen:

  • 3D-Modellierung
  • VFX-Rendering (Visual FX)
  • Videotranscodierung
  • Bildverarbeitung, Farbkorrektur und Größenänderung

Aufbau

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

Dieses Szenario zeigt einen Workflow, der Azure Batch verwendet. Die Daten fließen wie folgt:

  1. Hochladen der Eingabedateien und der Anwendungen, mit denen diese Dateien verarbeitet werden, in Ihr Azure Storage-Konto
  2. Erstellen eines Batch-Pools mit Computeknoten in Ihrem Batch-Konto, eines Auftrags zum Ausführen der Workload im Pool und von Aufgaben im Auftrag
  3. Herunterladen von Eingabedateien und der Anwendungen in Batch
  4. Überwachen der Aufgabenausführung
  5. Hochladen der Aufgabenausgabe
  6. Herunterladen der Ausgabedateien

Zur Vereinfachung dieses Prozesses können Sie auch die Batch-Plug-Ins für Maya & 3ds Max verwenden.

Komponenten

Azure Batch basiert auf der folgenden Azure-Technologie:

Überlegungen

Verfügbare Computergrößen für 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:

  • Ist die ausgeführte Anwendung speichergebunden?
  • Müssen für die Anwendung GPUs verwendet werden?
  • Gilt für die Auftragstypen eine hohe Parallelität, oder ist für eng gekoppelte Aufträge eine Infiniband-Konnektivität erforderlich?
  • Ist für den Zugriff auf Speicher auf den Computeknoten eine hohe E/A-Geschwindigkeit erforderlich?

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:

  • HPC-VM-Größen Aufgrund der CPU-Bindung des Renderns empfiehlt Microsoft normalerweise die Verwendung von virtuellen Azure-Computern der H-Serie. 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.
  • GPU-VM-Größen GPU-optimierte VM-Größen sind für spezialisierte virtuelle Computer mit einzelnen oder mehreren NVIDIA-GPUs verfügbar. Diese Größen sind für rechenintensive, grafikintensive und visualisierungsorientierte Workloads vorgesehen.
  • 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. Die Größe NV ist für Remotevisualisierung, Streaming, Spiele, Codierung und VDI-Szenarien mit Frameworks wie OpenGL und DirectX optimiert und konzipiert.
  • Arbeitsspeicheroptimierte VM-Größen Wenn mehr Arbeitsspeicher erforderlich ist, ermöglichen die arbeitsspeicheroptimierten VM-Größen ein höheres Arbeitsspeicher/CPU-Verhältnis.
  • Universelle VM-Größen Es sind auch universelle VM-Größen mit einem ausgewogenen Verhältnis von CPU zu Arbeitsspeicher verfügbar.

Alternativen

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. 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. Unter dem folgenden Link finden Sie weitere Informationen zu den Entwurfsprinzipien:

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.

Verfügbarkeit

Die Überwachung der Azure Batch-Komponenten ist über unterschiedliche Dienste, Tools und APIs möglich. Weitere Informationen zur Überwachung finden Sie im Artikel Überwachen von Batch-Lösungen.

Skalierbarkeit

Pools eines Azure Batch-Kontos können entweder per manuellem Eingriff oder automatisch mit einer auf Azure Batch-Metriken basierenden Formel skaliert werden. Weitere Informationen zur Skalierbarkeit finden Sie im Artikel Erstellen einer Formel für die automatische Skalierung von Computeknoten in einem Batch-Pool.

Sicherheit

Allgemeine Informationen zum Entwerfen sicherer Lösungen finden Sie in der Dokumentation zur Azure-Sicherheit.

Resilienz

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:

  • Erstellen eines Azure Batch-Kontos an einem anderen Azure-Standort mit einem anderen Speicherkonto
  • Erstellen der gleichen Knotenpools mit dem gleichen Namen und null zugeordneten Knoten
  • Sicherstellen, dass Anwendungen erstellt und auf das alternative Speicherkonto aktualisiert werden
  • Hochladen von Eingabedateien und Übermitteln von Aufträgen an das andere Azure Batch-Konto

Bereitstellen des Szenarios

Manuelles Erstellen eines Azure Batch-Kontos und der Pools

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:

Azure Batch Labs

Bereitstellen der Komponenten

Über die Vorlage wird Folgendes bereitgestellt:

  • Ein neues Azure Batch-Konto
  • Ein Speicherkonto
  • Einen Knotenpool, der dem Batch-Konto zugeordnet ist
  • Knotenpool wird für die Verwendung von A2 v2-VMs mit Canonical Ubuntu-Images konfiguriert
  • Der Knotenpool enthält anfänglich null virtuelle Computer, und zum Hinzufügen von virtuellen Computern ist eine manuelle Skalierung erforderlich.

Klicken Sie auf den Link unten, um die Lösung bereitzustellen.

In Azure bereitstellen

Erfahren Sie mehr über Resource Manager-Vorlagen.

Preise

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. Speicher und ausgehende Daten sollten berücksichtigt werden, da hierfür weitere Kosten anfallen.

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:

  • 100 virtuelle Computer mit Hochleistungs-CPU: Kostenschätzung

    100 x H16m (16 Kerne, 225 GB RAM, 512 GB Storage Premium), 2 TB Blobspeicher, 1 TB ausgehender Datenverkehr

  • 50 virtuelle Computer mit Hochleistungs-CPU: Kostenschätzung

    50 x H16m (16 Kerne, 225 GB RAM, 512 GB Storage Premium), 2 TB Blobspeicher, 1 TB ausgehender Datenverkehr

  • Zehn virtuelle Computer mit Hochleistungs-CPU: Kostenschätzung

    10 x H16m (16 Kerne, 225 GB RAM, 512 GB Storage Premium), 2 TB Blobspeicher, 1 TB ausgehender Datenverkehr

Preise für virtuelle Computer mit niedriger Priorität

Azure Batch unterstützt auch die Verwendung virtueller Computer mit niedriger Priorität in den Knotenpools, was zu erheblichen Kosteneinsparungen führen kann. Weitere Informationen sowie einen Preisvergleich zwischen virtuellen Standardcomputern und virtuellen Computern mit niedriger Priorität finden Sie unter Azure Batch – Preise.

Hinweis

Virtuelle Computer mit niedriger Priorität sind nur für bestimmte Anwendungen und Workloads geeignet.

Azure Batch: Übersicht

Azure Batch-Dokumentation

Verwenden von Containern in Azure Batch