

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Deadline Cloud ワークロードとは
<a name="what-is-a-deadline-cloud-workload"></a>

 AWS Deadline Cloud を使用すると、クラウドでアプリケーションを実行するジョブを送信し、ビジネスにとって重要なコンテンツやインサイトを制作するためのデータを処理できます。Deadline Cloud は、[Open Job Description](https://github.com/OpenJobDescription/openjd-specifications) (OpenJD) をジョブテンプレートの構文として使用します。これは、ビジュアルコンピューティングパイプラインのニーズ向けに設計された仕様ですが、他の多くのユースケースに適用されます。ワークロードの例には、コンピュータグラフィックスのレンダリング、物理シミュレーション、写真測量などがあります。

ワークロードは、ユーザーが CLI または自動生成された GUI を使用してキューに送信するシンプルなジョブバンドルから、アプリケーション定義のワークロードのジョブバンドルを動的に生成する統合送信者プラグインまでスケールされます。

## ワークロードが本番環境からどのように発生するか
<a name="how-workloads-arise-from-production"></a>

 本番稼働環境のワークロードと Deadline Cloud でワークロードをサポートする方法を理解するには、ワークロードがどのようになるかを検討してください。制作には、視覚効果、アニメーション、ゲーム、製品カタログ画像、情報モデリング (BIM) を構築するための 3D 再構築の作成などが含まれます。このコンテンツは通常、さまざまなソフトウェアアプリケーションとカスタムスクリプトを実行するアーティスティックまたはテクニカルスペシャリストのチームによって作成されます。チームのメンバーは、本番パイプラインを使用して相互にデータを渡します。パイプラインによって実行される多くのタスクには、ユーザーのワークステーションで実行されると数日かかる大量の計算が含まれます。

 これらの本番パイプラインのタスクの例には、次のようなものがあります。
+  写真測量アプリケーションを使用して、テクスチャデジタルメッシュを再構築するために映画セットの撮影された写真画を処理します。
+  3D シーンでパーティクルシミュレーションを実行して、テレビ番組の爆発ビジュアル効果に詳細レイヤーを追加します。
+  ゲームレベルのデータを外部リリースに必要な形式にクックし、最適化と圧縮の設定を適用します。
+  色、背景、照明のバリエーションなど、製品カタログの一連のイメージをレンダリングします。
+  カスタム開発スクリプトを 3D モデルで実行して、カスタムビルドされ、映画監督によって承認された外観を適用します。

 これらのタスクには、アーティスティックな結果を取得したり、出力品質を微調整したりするために調整する多くのパラメータが含まれます。多くの場合、アプリケーション内でローカルでプロセスを実行するボタンまたはメニューを使用して、これらのパラメータ値を選択する GUI があります。ユーザーがプロセスを実行すると、アプリケーションと場合によってはホストコンピュータ自体を他のオペレーションの実行に使用することはできません。これは、アプリケーションの状態をメモリで使用し、ホストコンピュータのすべての CPU とメモリリソースを消費する可能性があるためです。

 多くの場合、プロセスは迅速です。本番稼働中は、品質と複雑さの要件が高まると、プロセスの速度が遅くなります。開発中に 30 秒かかったキャラクターテストは、最終的な本番キャラクターに適用されると、簡単に 3 時間になる可能性があります。この進行により、GUI 内で寿命を迎えたワークロードが大きくなりすぎて収まらない可能性があります。Deadline Cloud に移植すると、ワークステーションを完全に制御し直し、Deadline Cloud モニターからより多くの反復を追跡できるため、これらのプロセスを実行しているユーザーの生産性を高めることができます。

 Deadline Cloud でワークロードのサポートを開発する際に目指すサポートには、次の 2 つのレベルがあります。
+  並列処理や高速化なしで、ワークロードをユーザーワークステーションから Deadline Cloud ファームにオフロードします。これにより、ファームで使用可能なコンピューティングリソースが十分に活用されない可能性がありますが、長時間のオペレーションをバッチ処理システムに移行できるため、ユーザーは自分のワークステーションでより多くの作業を行うことができます。
+  Deadline Cloud ファームの水平スケールを利用して迅速に完了できるように、ワークロードの並列処理を最適化します。

 ワークロードを並行して実行する方法が明らかになる場合があります。たとえば、コンピュータグラフィックスレンダリングの各フレームは個別に実行できます。ただし、この並列処理にとらわれないようにすることが重要です。代わりに、長時間実行されるワークロードを Deadline Cloud にオフロードすると、ワークロードを分割する明確な方法がない場合でも、大きな利点が得られることを理解してください。

## ワークロードの構成要素
<a name="the-ingredients-of-a-workload"></a>

 Deadline Cloud ワークロードを指定するには、[Deadline Cloud CLI](https://github.com/aws-deadline/deadline-cloud) を使用してユーザーがキューに送信するジョブバンドルを実装します。ジョブバンドルの作成作業の多くはジョブテンプレートの作成ですが、ワークロードに必要なアプリケーションを提供する方法など、さらに多くの要因があります。Deadline Cloud のワークロードを定義する際に考慮すべき重要な事項は次のとおりです。
+  **実行するアプリケーション**。ジョブはアプリケーションプロセスを起動できる必要があるため、利用可能なアプリケーションのインストールと、フローティングライセンスサーバーへのアクセスなど、アプリケーションが使用するライセンスが必要です。これは通常、ファーム設定の一部であり、ジョブバンドル自体に埋め込まれていません。
  + [キュー環境を使用してジョブを設定する](configure-jobs.md)
  + [カスタマーマネージドフリートをライセンスエンドポイントに接続する](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/cmf-ubl.html)
+  **ジョブパラメータの定義**。ジョブを送信するユーザーエクスペリエンスは、ジョブが提供するパラメータによって大きく影響を受けます。パラメータの例には、データファイル、ディレクトリ、アプリケーション設定などがあります。
  + [ジョブバンドルのパラメータ値要素](build-job-bundle-parameters.md)
+  **ファイルデータフロー**。ジョブを実行すると、ユーザーから提供されたファイルから入力を読み取り、その出力を新しいファイルとして書き込みます。ジョブアタッチメントとパスマッピング機能を使用するには、ジョブでこれらの入力と出力のディレクトリまたは特定のファイルのパスを指定する必要があります。
  + [ジョブでのファイルの使用](using-files-in-your-jobs.md)
+  **ステップスクリプト**。ステップスクリプトは、適切なコマンドラインオプションを使用してアプリケーションバイナリを実行し、指定されたジョブパラメータを適用します。また、ワークロードデータファイルに相対パス参照ではなく絶対パスが含まれている場合、パスマッピングなどの詳細も処理します。
  + [ジョブバンドルのジョブテンプレート要素](build-job-bundle-template.md)

## ワークロードの移植性
<a name="workload-portability"></a>

 ワークロードは、ジョブを送信するたびに変更することなく、複数の異なるシステムで実行できる場合に移植可能です。たとえば、異なる共有ファイルシステムがマウントされている異なるレンダーファームや、 や Linux などの異なるオペレーティングシステムで実行できますWindows。ポータブルジョブバンドルを実装すると、ユーザーは特定のファームでジョブを実行したり、他のユースケースに適応したりできます。

 ジョブバンドルをポータブルにする方法をいくつか紹介します。
+  ジョブバンドル内の`PATH`ジョブパラメータとアセットリファレンスを使用して、ワークロードに必要な入力データファイルを完全に指定します。このアプローチにより、共有ファイルシステムに基づくファームや、Deadline Cloud ジョブアタッチメント機能などの入力データのコピーを作成するファームにジョブを移植できます。
+  ジョブの入力ファイル用のファイルパス参照を再配置し、さまざまなオペレーティングシステムで使用できるようにします。たとえば、ユーザーがWindowsワークステーションからジョブを送信してLinuxフリートで実行する場合などです。
  +  相対ファイルパス参照を使用するため、それらを含むディレクトリが別の場所に移動された場合でも、参照は解決されます。[Blender](https://docs.blender.org/manual/en/latest/files/blend/open_save.html#files-blend-relative-paths) などの一部のアプリケーションは、相対パスと絶対パスの選択をサポートしています。
  +  相対パスを使用できない場合は、OpenJD [パスマッピングメタデータ](https://github.com/OpenJobDescription/openjd-specifications/wiki/How-Jobs-Are-Run#path-mapping)をサポートし、Deadline Cloud がファイルをジョブに提供する方法に従って絶対パスを変換します。
+  ポータブルスクリプトを使用してジョブにコマンドを実装します。Python と bash は、このように使用できるスクリプト言語の 2 つの例です。フリートのすべてのワーカーホストで両方を提供することを検討する必要があります。
  +  スクリプトファイル名を引数として、 `python`や などの`bash`スクリプトインタープリタバイナリを使用します。このアプローチは、 で実行ビットが設定されたスクリプトファイルの使用と比較してWindows、 を含むすべてのオペレーティングシステムで機能しますLinux。
  +  以下のプラクティスを適用してポータブル bash スクリプトを作成します。
    +  テンプレートパスパラメータを一重引用符で展開して、スペースとパス区切り文字を含むWindowsパスを処理します。
    +  で実行する場合はWindows、MinGW 自動パス変換に関連する問題に注意してください。たとえば、 のような AWS CLI コマンド`aws logs tail /aws/deadline/...`を のようなコマンドに変換`aws logs tail "C:/Program Files/Git/aws/deadline/..."`し、ログを正しくテーリングしません。この動作をオフに`MSYS_NO_PATHCONV=1`するには、 変数を設定します。
    +  ほとんどの場合、同じコードはすべてのオペレーティングシステムで機能します。コードが異なる必要がある場合は、 `if/else`コンストラクトを使用してケースを処理します。

      ```
      if [[ "$(uname)" == MINGW* || "$(uname -s)" == MSYS_NT* ]]; then
          # Code for Windows
      elif [[ "$(uname)" == Darwin ]]; then
          # Code for MacOS
      else
          # Code for Linux and other operating systems
      fi
      ```
  +  を使用してポータブル Python スクリプトを記述`pathlib`することで、ファイルシステムのパスの違いを処理し、運用固有の機能を回避できます。Python ドキュメントには、[シグナルライブラリドキュメント](https://docs.python.org/3/library/signal.html)などにこの注釈が含まれています。 Linux固有の機能サポートは「可用性: Linux」とマークされています。
+  ジョブパラメータを使用してアプリケーション要件を指定します。ファーム管理者が[キュー環境](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs.html)に適用できる一貫した規則を使用します。
  +  たとえば、ジョブに必要なアプリケーションパッケージ名`CondaPackages`とバージョンを一覧表示するデフォルトの`RezPackages`パラメータ値を使用して、ジョブで および/または パラメータを使用できます。次に、[サンプルの conda または Rez キュー環境](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments)のいずれかを使用して、ジョブの仮想環境を提供できます。