Z800 Backburner vs ディストリビュート

今回はHP製 ハイエンドワークステーションZ800 ×5台を用いて、3ds Max + mental ray の Backburner による静止画レンダリングと、ディストリビュートレンダリングを比較テストいたしました。

Z800 単体の性能比較テストは、以前の記事 HP ワークステーション Z800 vs xw8600 をご参照ください。

Backburner と ディストリビュートレンダリング

Autodesk Backburner は、3ds Max にバンドルされているネットワークレンダリング構築・管理ツールです。Backburner 使用時には「スキャンラインレンダラー」および「mental ray レンダラー」のレンダースレーブ(Backburner Server 端末)ライセンス数は無制限となりますので、追加ライセンス費用を考慮することなくレンダーファームを導入することができます。個々のレンダースレーブが担当部分をレンダリングし、イメージを作成する方式です。

3ds Max 標準搭載の mental ray レンダラーには、Backburner とはまったく別の「ディストリビュートレンダリング」という機能があります。こちらも追加費用が発生しないライセンスですが、ディストリビュートクライアントは8CPUまでと制限されています。個々のレンダースレーブはレンダリングイメージを描画せず、レンダーマスターに計算結果を送信する方式です。

Backburner と mental ray ディストリビュートレンダリング比較

Backburner mental ray
ディストリビュート
追加費用 無し 無し
レンダースレーブ
ライセンス数
無制限 外部8CPU
レンダースレーブ
追加ライセンス
- 有償
一般的に向いている
とされる用途
アニメーション 静止画
静止画分散
レンダリングの方法
分割オプションを有効にします。各レンダースレーブで3ds Maxが起動、割り当てられた領域をレンダリングして画像を保存します。全端末でレンダリング完了後、従属ジョブによりレンダリング画像を結合します。レンダリング中のイメージフレームは、各レンダースレーブで見ることができます。 各レンダースレーブではバックグラウンドで3ds Maxが起動、レンダーマスターより割り当てられたレンダリング計算を行います。レンダースレーブより受け取った計算結果を交えて、レンダリング処理自体はレンダーマスターで行われます。レンダリング中のイメージフレームはレンダーマスターのみに表示され、多数のパケットを確認することができます。
レンダリング中の
3ds Max作業端末
レンダーマスターと作業端末を分ければ、レンダリングジョブから開放することができます。 作業端末がレンダーマスターを兼ね、且つレンダリングジョブに必ず参加するため、レンダリング完了まで拘束されます。
  • レンダーマスター:
    レンダリングジョブを管理し、ディストリビュートの場合はレンダリング実行と結果を保存する役目も担います。BackburnerではBackburner Mangerが担当、mental ray ディストリビュートレンダリングでは[レンダリング]ボタンを押した作業マシンが担当します。
  • レンダースレーブ:
    レンダーマスターより割り振られたジョブを行う各端末のことを指します。BackburnerではBackburner Serverが起動している端末です。

ケース1: mental ray インテリアシーン

Z800 ベンチマークテスト および Z600 レンダーファーム で用いた、mental ray レンダラーのインテリアシーンです。

このシーンはインテリアのため、レンダリング範囲のほぼ全ての領域にオブジェクトが存在します。

このシーンのレンダリングにかかった時間は、下記の通りとなっております。使用した端末のスペックに違いがありますが、Backburner、ディストリビュート共に、単体でのレンダリングよりも大幅に短縮されています。

(単体でのレンダリングに用いたZ800の方が高スペックです。 参考:Z600 レンダーファーム


レンダリング時間
Z800 ×1台 スタンドアロン(参考) 20分3秒
Z600 ×5台
Backburner
レンダースレーブ1 4分21秒 <最短>
レンダースレーブ2 5分16秒
レンダースレーブ3 5分19秒
レンダースレーブ4 6分31秒 <最長>
レンダースレーブ5 5分42秒
Z600 ×5台 menlta ray ディストリビュート 7分50秒

こちらの例では、Backburner の最長 6分31秒 に対し、ディストリビュート 7分50秒 という結果となりました。Backburner にはこの後にレンダリングイメージ結合のためのセカンドジョブが行われますが、通常そちらは10数秒程度で完了しますので、Backburner の方が速くレンダリングを完了できたことになります。

ケース2: mental ray エクステリアシーン

こちらの例は mental ray によるエクステリアシーンです。Evermotion社の高品質素材集 Archexteriors Vol.01 for mental ray からシーン09を用いました。 多数のの反射・屈折(ガラスや水面)、ライト、草木と樹木などが用いられ、かなり“重い”シーンとなっております。

テストに用いたハードウェアは下記の通りです。機材の都合上、「ケース1」とは異なる端末を用いております。こちらのハードウェアで「単体レンダリング」「Backburner レンダリング」「ディストリビュートレンダリング」をテストいたしました。

ケース2 使用機材
外観 Z800/CT
CPU Intel Xeon W5580 3.20GHz ×2
 - クアッドコア ×2
 - ハイパースレッディングON
 - 8コア/16スレッド
メモリ 4GB (ECC DDR3-SDRAM 1,333MHz)
チップセット Intel 5520
グラフィックス nVIDIA Quadro FX 580
OS Windows Vista Business 64bit
ケース2 レンダリング結果

レンダリング時間
Z800 ×1台 スタンドアロン 3時間42分49秒
Z800 ×5台
Backburner
レンダースレーブ1 3分12秒 <最短>
レンダースレーブ2 15分12秒
レンダースレーブ3 45分52秒
レンダースレーブ4 1時間22分11秒 <最長>
レンダースレーブ5 1時間17分38秒
Z800 ×5台 menlta ray ディストリビュート 57分00秒

ディストリビュートは3分の1未満の時間でレンダリングが完了しており、非常に良い結果となりました。ところが Backburner はレンダリング時間に大きなばらつきがあり、全体でディストリビュートよりも大幅に時間がかかっています。何故このような結果になったのでしょうか。

Backburner と ディストリビュート の分散方式の違い

ディストリビュートの場合は、パケット領域に区切られてレンダースレーブにジョブが流されます。担当したパケットの計算が完了すると、そのレンダースレーブに次のパケットがすぐ割り当てられ、結果として各レンダースレーブにほぼ均等に計算が任せられます。

1つのパケットは、各端末の1論理スレッドに割り当てられます。今回の環境では、1台の端末に同時に最大16パケットが割り当てられていることになります。レンダーマスターのレンダリングフレームウインドウでは、実に80個ものパケットがレンダリングに参加していることを確認できます。

それに対し Backburner で静止画をスライス分割する場合、最初にレンダリング領域が決定され、その領域が丸ごとレンダースレーブに任されます。

今回はスライス分割をレンダースレーブの台数と同じ5に設定してあります。つまり、左図のように各レンダースレーブに割り振られたということです。

インテリアシーンはどのエリアもほぼ均等にオブジェクトがあります。

エクステリアシーンに注目していただくと、3分12秒 で完了した「レンダースレーブ1担当エリア」は、オブジェクトがほとんどありません。「レンダースレーブ2担当エリア」も多くを背景が占めており、時間のかかっている「レンダースレーブ4担当エリア」「レンダースレーブ5担当エリア」に、反射・屈折・植栽等が集中していることが分かります。

このシーンのようにオブジェクトが均等に分布していない場合は、ディストリビュートの方が有利です。Backburner を用いる場合は、5分割ではなく10〜20分割といたように細かく分けた方がいいかもしれません。

Backburner には 3ds Max 作業端末を開放できるという大きいメリットがあります。それを有効に生かすためにも、分割数の調整は欠かせません。

page top