目次

  1. Deadline Client のインストール
  2. プラグインのインストール
  3. Pyton API の使用
  4. Pool と Group
    1. Group
    2. Pool
      1. Pool のメンテナンス
  5. ジョブ登録時の指定
  6. BBJobManager 上での選択

Deadline Client のインストール

Thinkbox から取得できる Dealine Client をインストールします。

プラグインのインストール

BBJobManager-X.X.X-py27-none-any.whl の中の BBJobManager\libScheduler\Deadline\deadline8Plugins の中にカスタムプラグインがあります。 この中をすべて リポジトリの plugins ディレクトリにコピーします。

Pyton API の使用

BBJobManager は Deadline Python API を使用してジョブの管理をおこないます。 Deadline Python API を使用するためには deadlinewebservice を立ち上げ、サービスへのアクセス権の設定をおこなう必要があります。

詳細は Deadline のマニュアルを参照してください。

設定には netsh コマンドを使用します。DEADLINEUSER の部分は、deadlinewebservice を立ち上げるユーザー名を指定します。

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>netsh http add urlacl url=http://*:8082/ user=DEADLINEUSER

URL 予約を正常に追加しました

これで設定は完了です。

Pool と Group

Deadline では計算機を Pool と Group という二種類の方法で管理することができます。 Pool と Group は一見すると違いが分かりにくいですが、通常使用時は Pool の管理がメインになります。

Group

インストールされているアプリケーションや OS、搭載メモリ量など計算機の設定毎に分類します。

Pool

レンダージョブがどのように実行されるかを管理します。

Pool は階層化して管理することができ、上位の Pool に登録されたジョブから優先的に実行されます。

Deadline_PoolManagement01.png

また、下位の Pool が空いている場合、上位の Pool に登録されたジョブが下位の Pool に登録されている計算機に割り当てられます。

Deadline_PoolManagement04.png

レンダーファームが空いている場合、最終的にはデフォルトで存在する、全ての計算機が登録されている none Pool が有効になるため、全ての計算機が処理対象になります。

上図の場合、もし ProjectB で一切ジョブが投入されていなかった場合は ProjectA で全ての計算機を使うことができます。

Pool のメンテナンス

Pool はプロジェクトの進行状況や計算機のリソースを元に、常に調整をおこないます。

ここでは、プロジェクトと、その中のタスクという2階層で管理されている場合を例に挙げて説明します。

ProjectA と ProjectB が走っていた場合、プロジェクト毎のリソースの調整はプロジェクト毎の Pool でおこないます。

Deadline_PoolManagement02.png

プロジェクト内のリソースは、タスク毎の Pool で調整します。

Deadline_PoolManagement03.png

ジョブ登録時の指定

ジョブを登録するときは、Pool と Group を一組で指定します。

Pool も Group も、デフォルトで全ての計算機が登録されている none という名前のものがあるので、何も指定しなければそれが使用され、全ての計算機で処理されるようになります。

Group に

Maya
3dsmax
Houdini

Pool に

ProjectA
ProjectA_render
ProjectA_sim

がそれぞれ登録されていたとすると、プロジェクトA で Maya を使用してレンダリングをおこないたい場合は

をそれぞれ指定してジョブの登録をします。

BBJobManager 上での選択

BBJobManager 上では、 Pool と Group の組み合わせをプルダウンで選びます。

BBJobManager_selectDeadlinePool.png

最初の段階としては全ての Pool と Group の組み合わせをリストアップするようにしますが、 BBJobManager で選択しているプロジェクトを元に表示する Pool を絞るとか、選択しているテンプレートを元に Group を絞るなどしてできるだけユーザーへの負担を減らすようにしたいところです。

※Pool のフィルタリングに関しては、Pool 名がプロジェクト名に前方一致するものだけ表示するということでいい気もします。