Azure を使用したレンダリング

レンダリングとは、3D モデルを取得して 2D 画像に変換するプロセスです。 3D シーン ファイルの作成には、Autodesk 3DS Max、Autodesk Maya、Blender などのアプリケーションが使用されます。 Autodesk Maya、Autodesk Arnold、Chaos Group V-Ray、Blender Cycles などのレンダリング アプリケーションでは、2D 画像が生成されます。 単一の画像がシーン ファイルから作成されることもあります。 しかし、一般的には、複数の画像がモデル化およびレンダリングされた後、それがアニメーションに結合されます。

レンダリング ワークロードは、メディアおよびエンターテイメント業界で特殊効果 (VFX) によく使用されています。 また、広告、小売、石油とガス、製造など、他にもレンダリングが使用されている業界は多数あります。

レンダリングのプロセスは演算の負荷が大きく、生成されるフレームや画像が大量になるため、各画像をレンダリングするのに何時間もかかることがあります。 このため、レンダリングは、Azure を使って多数のレンダーを並列実行したり、GPU を含む広範なハードウェアを利用したりすることができる、最適なバッチ処理ワークロードです。

レンダリングに Azure を使用する理由

レンダリングが Azure に最適なワークロードである理由は数多くあります。

  • レンダリング ジョブを複数の処理に分割し、複数の VM を使って並列実行できる。
    • アニメーションは多数のフレームで構成され、各フレームを並列レンダリングできます。 各フレームの処理に使用できる VM が多いほど、すべてのフレームとアニメーションを速く生成できます。
    • レンダリング ソフトウェアの中には、1 つのフレームをタイルやスライスなどの複数の部分に分割できるものがあります。 各部分を個別にレンダリングし、すべての部分が完了した時点で、最終的な画像に結合できます。 使用できる VM が多いほど、フレームを速くレンダリングできます。
  • レンダリング プロジェクトには膨大なスケールが必要。
    • 個々のフレームは複雑で、ハイエンドのハードウェアでもレンダリングに相当な時間がかかる場合があります。また、アニメーションは何十万というフレームで構成されていることもあります。 高品質のアニメーションを妥当な時間でレンダリングするには、膨大なコンピューティングが必要です。 場合によっては、数千のフレームを並列でレンダリングするために、100,000 を超えるコアが使われます。
  • レンダリング プロジェクトはプロジェクト ベースであり、さまざまな量のコンピューティングが必要。
    • 必要に応じてコンピューティングとストレージ容量を割り当て、プロジェクト中に負荷に応じてスケールアップまたはスケールダウンし、プロジェクトが完了したら削除します。
    • 容量が割り当てられるときに課金されますが、プロジェクトとプロジェクトの間など、負荷がかかっていないときは課金されません。
    • 予期しない変更によるバーストに対応します。プロジェクトの後半に予期しない変更があり、それらの変更を厳しいスケジュールで処理する必要がある場合は、スケールアップします。
  • アプリケーション、ワークロード、および期間に従って、さまざまなハードウェアから選択可能。
    • Azure では様々なハードウェアが用意されており、Batch での割り当ておよび管理が可能です。
    • プロジェクトごとに、要件として最適な価格やパフォーマンスが求められる場合や、最適な全体的パフォーマンスが求められる場合があります。 シーンやレンダリング アプリケーションが異なると、メモリ要件が異なる場合があります。 レンダリング アプリケーションの中には、最高のパフォーマンスまたは特定の機能のために GPU を使うものがあります。
  • 低優先度または Azure スポット VM によるコスト削減。
    • 低優先度およびスポット VM は、Standard VM に比べて大幅な割引を実現できるように提供されており、一部のジョブの種類に適しています。

既存のオンプレミスのレンダリング環境

最もよくあるケースは、PipelineFX Qube、Royal Render、Thinkbox Deadline、カスタム アプリケーションなどのレンダー管理アプリケーションによって管理されている、既存のオンプレミス レンダー ファームです。 要件は、Azure VM を使用してオンプレミス レンダー ファームの容量を拡張することです。

Azure インフラストラクチャおよびサービスを使用すると、オンプレミスの容量を補うために Azure が使用されるハイブリッド環境を作成することができます。 以下に例を示します。

  • Virtual Network を使用して、オンプレミスのレンダー ファームと同じネットワーク上に Azure リソースを配置します。
  • Avere vFXT for Azure または Azure HPC Cache を使用してソース ファイルを Azure にキャッシュし、帯域幅の使用と待機時間を削減して、パフォーマンスが最大限に高めます。
  • 既存のライセンス サーバーが仮想ネットワーク上にあることを確認し、Azure ベースの追加容量に対応するため、必要に応じてさらにライセンスを購入します。

既存のレンダー ファームなし

クライアント ワークステーションでレンダリングを実行することもできますが、レンダリングの負荷は増加しており、ワークステーションの能力だけを使うと時間がかかり過ぎます。

主に次の 2 つのオプションを使用できます。

  • Royal Render などのオンプレミスのレンダー マネージャーをデプロイし、容量またはパフォーマンスがさらに必要な場合に Azure を使用できるようにハイブリッド環境を構成する。 レンダー マネージャーは、レンダリング ワークロード向けに特別に調整されていて、一般的なクライアント アプリケーション用のプラグインが含まれるため、レンダリング ジョブを簡単に送信できます。

  • Azure Batch を使ってコンピューティング能力の割り当てと管理を行い、レンダー ジョブを実行するためのジョブ スケジュール機能を提供するカスタム ソリューション。

次のステップ

Azure Batch のレンダリング機能について詳細を学習します。