On this page |
概要 ¶
HQueueは演算ノードの集合体やクライアントマシンにわたってタスクの分散、モニター、管理をする多目的なジョブスケジューリングシステムです。 これはHoudiniからサブミットされたレンダリングとダイナミックシミュレーションのジョブに特化していますが、任意のアプリケーションからのジョブを扱えるようにカスタマイズすることもできます。
マシン構成 ¶
HQueueファームの主なマシン構成は以下の通りです:
-
HQueueサーバー
このマシンは、HQueueシステムのエンジンであるHQueueサーバープロセスを実行します。 サーバーはジョブのスケジュールを管理したり、ジョブを他のマシンに分散したり、Webインターフェースを提供したり、ジョブのスケジュールデータを保存します。
-
HQueueクライアント
これらのマシンは、HQueueクライアントプロセスを実行します。 クライアントはサーバーが割り当てたジョブを受け取って実行します。HQueueクライアントは、クライアントマシン、演算ノード、レンダーノードとも呼ばれています。
-
ワークステーション
これらのマシンは、ユーザがインタラクティブなHoudiniや非グラフィカルなHoudiniまたは他のアプリケーションを使ってジョブを投入します。 これらのマシンからジョブがHQueueサーバーに投入され、そのHQueueサーバーがそのジョブをクライアントに分散します。
-
共有フォルダサーバー
このマシンはファームのストレージバックエンドの役割をし、その典型がファーム内でどのマシンからもアクセス可能な共有ネットワークフォルダまたはネットワークドライブです。 ワークステーションは、ジョブ実行時にクライアントマシンで読み込まれる共有フォルダに入力ファイルを転送します。 さらにクライアントマシンは、ワークステーションからアクセス可能な共有フォルダに出力ファイルを書き出します。
-
Houdiniライセンスサーバー
このマシンは、ワークステーション上のインタラクティブなHoudini、クライアントマシン上の非インタラクティブなHoudiniとMantra/Karma、それらを実行するのに必要なライセンスを提供します。
動作の仕組み ¶
HQueueの動作の仕組みを理解する単純な方法は、Mantraレンダリングジョブの分散といった典型的なワークフローを経験することです:
-
ワークステーションはHQueueサーバーにジョブをサブミットします。
ワークフローはワークステーションから始まります。 アーティストがHoudiniでシーンを作成して、シーンのレンダリングの準備が完了したら、アーティストはHQueue Rendr ROPを使ってHQueueサーバーにレンダリングジョブをサブミットします。 またHQueue Render ROPはシーンファイル(
.hip
)とそれに関連するファイルが共有フォルダにない場合には共有フォルダにコピーします。この時点で、アーティストはHQueueのWebインターフェースをWebブラウザで開いてジョブの進捗状況をモニターすることができます。
-
HQueueサーバーはジョブをクライアントマシンに割り当てます。
HQueueサーバーはジョブを分析して次に利用可能なクライアントマシンにジョブを割り当てます。クライアントマシンはHQueueサーバーと通信してジョブを取得します。
-
クライアントマシンはジョブを実行して、作業をより細かいタスクに分けます。
クライアントマシンはジョブの実行を開始して、共有フォルダから入力ファイルを読み込みます。 特にMantraのレンダリングジョブに関しては、クライアントは.hipファイルを読み込んでレンダリングで必要なIFDファイル(シーン記述ファイル)を生成します。 それと同時に、実際にレンダリング作業を行うタスクや子ジョブを作成します。
作成される子ジョブの数は、通常はレンダリングで要求されたフレーム数に基づいています。 例えば、フレーム1から240までをレンダリングすると仮定すると、そのレンダリングに対応したIFDファイルから1つのフレームをレンダリングするように指示されたジョブが240個の子ジョブとして作成されます。
-
細かくしたタスクをHQueueサーバーに送り返し、残りのファームに分散します。
クライアントマシンは、新しい子ジョブをHQueueサーバーに送り返して、それらのジョブがキューとしてファーム上の他の利用可能なクライアントに割り当てられます。 これが複数のマシンが同じレンダリングジョブに対して作業できる仕組みになっています。
それと同時に、最初のクライアントマシンは、残りのフレームのIFDの生成とその新しい子ジョブの作成を続けます。
-
細かくしたタスクを実行します。
他のクライアントマシンは子ジョブを実行して、それと平行で共有フォルダに出力画像を書き出します。
-
ジョブを終了します。
すべてのタスクが完了すると、最終的なレンダリング画像が共有フォルダに作成されます。 アーティストはレンダリングされた画像を見て、失敗したフレームの子ジョブを再度サブミットすることができます。 シーンに変更があれば、アーティストは、すべてのレンダリングジョブを再度サブミットすることができます。
ライセンス供与 ¶
HQueueサーバーを動かすのに、ライセンスは不要です。
HQueueクライアントはHoudiniジョブを実行するのにライセンスを必要とします。
HoudiniのシミュレーションジョブとIFD生成ジョブにはHoudini Engineライセンス(または、それと同等以上のライセンス、例えばHoudini FX)が必要です。
MantraレンダージョブにはRenderライセンスが必要です。
KarmaレンダージョブにはKarmaライセンスが必要です。
.hip
ファイルをクックする他のレンダージョブは、Houdini Engineライセンス(または、それと同等以上のライセンス)が必要です。