On this page

HQueueは演算ノードの集合体やクライアントマシンにわたってタスクの分散、モニター、管理をする多目的なジョブ管理システムです。これはHoudiniからサブミットされたレンダリングとダイナミックシミュレーションのジョブに特化していますが、任意のアプリケーションからのジョブを扱えるようにカスタマイズすることもできます。

マシン構成

典型的なHQueueファームは以下のような構成になっています:

HQueueファームの主なマシン構成は以下の通りです:

  • HQueueサーバー

    このマシンは、全体のシステムの心臓部になるHQueueサーバープロセスを実行します。サーバーはジョブを他のマシンに分散したり、Webインターフェースを提供したり、ジョブのスケジュールデータを保存します。

  • HQueueクライアント

    これらのマシンは、HQueueクライアントプロセスを実行します。クライアントはサーバーが割り当てたジョブを受け取って実行します。HQueueクライアントは、クライアントマシン、演算ノード、レンダーノードとも呼ばれています。

  • ワークステーション

    これらのマシンは、ユーザがインタラクティブにHoudiniを使ってジョブをサブミットします。ジョブはHQueueサーバーに送信されてから、クライアントに分散されます。

  • 共有フォルダサーバー

    このマシンはネットワークで共有されたフォルダ(ドライブ)を提供します。ワークステーションは、ジョブ実行時にクライアントマシンで読み込まれる共有フォルダに入力ファイルを転送します。さらにクライアントマシンは、ワークステーションからアクセス可能な共有フォルダに出力ファイルを書き出します。

  • Houdiniライセンスサーバー

    このマシンは、ワークステーション上のインタラクティブなHoudini、クライアントマシン上の非インタラクティブなHoudiniとMantra、それらを実行するのに必要なライセンスを提供します。

動作の仕組み

HQueueの動作の仕組みを理解する最も簡単な方法は、Mantraレンダリングジョブの分散といった典型的なワークフローを経験することです:

  1. ワークステーションはHQueueサーバーにジョブをサブミットします。

    ワークフローはワークステーションから始まります。アーティストがHoudiniでシーンを作成して、シーンのレンダリングの準備が完了したら、アーティストはHQueue Rendr ROPを使ってHQueueサーバーにレンダリングジョブをサブミットします。またHQueue Render ROPはシーンファイル(.hip)とそれに関連するファイルを共有フォルダにコピーします。

    この時点で、アーティストはHQueueのWebインターフェースをWebブラウザで開いてジョブの進捗状況をモニターすることができます。

  2. HQueueサーバーはジョブをクライアントマシンに割り当てます。

    HQueueサーバーはジョブを分析して次に利用可能なクライアントマシンにジョブを割り当てます。クライアントマシンはHQueueサーバーと通信してジョブを取得します。

  3. クライアントマシンはジョブを実行して、作業をより細かいタスクに分けます。

    クライアントマシンはジョブの実行を開始して、共有フォルダから入力ファイルを読み込みます。特にMantraのレンダリングジョブに関しては、クライアントは.hipファイルを読み込んでレンダリングで必要なIFDファイル(シーン記述ファイル)を生成します。それと同時に、実際にレンダリング作業を行うサブジョブや子ジョブを作成します。

    作成される子ジョブの数は、通常はレンダリングで要求されたフレーム数に基づいています。例えば、フレーム1から240までをレンダリングすると仮定すると、そのレンダリングに対応したIFDファイルから1つのフレームをレンダリングするように指示されたジョブが240個の子ジョブとして作成されます。

  4. 細かくしたタスクをHQueueサーバーに送り返し、残りのファームに分散します。

    クライアントマシンは、新しい子ジョブをHQueueサーバーに送り返して、それらのジョブがキューとしてファーム上の他の利用可能なクライアントに割り当てられます。これが複数のマシンが同じレンダリングジョブに対して作業できる仕組みになっています。

    それと同時に、最初のクライアントマシンは、残りのフレームのIFDの生成とその新しい子ジョブの作成を続けます。

  5. 細かくしたタスクを実行します。

    他のクライアントマシンは子ジョブを実行して、それと平行で共有フォルダに出力画像を書き出します。

  6. ジョブを終了します。

    すべてのジョブが完了すると、最終的なレンダリング画像が共有フォルダに作成されます。アーティストはレンダリングされた画像を見て、失敗したフレームの子ジョブを再度サブミットすることができます。シーンに変更があれば、アーティストは、すべてのレンダリングジョブを再度サブミットすることができます。

ライセンス供与

HQueueサーバーを動かすのに、ライセンスは不要です。

HQueueクライアントはHoudiniジョブを実行するのにライセンスを必要とします。 HoudiniのシミュレーションジョブとIFD生成ジョブにはHoudini Engineライセンス(または、それと同等以上のライセンス、例えばHoudini FX)が必要です。 MantraレンダージョブにはRenderライセンスが必要です。.hipファイルをクックする他のレンダージョブは、Houdini Engineライセンス(または、それと同等以上のライセンス)が必要です。

HQueue