■■■ はじめに
└──────────────────────────────
現在、仕事で使っているCGソフトのレンダリングが重くて困っていました。
メインマシンは速いんですが、レンダリングを実行をすると応答が悪くなって
他の作業がしずらくなります。
何とかならないかと思っていたところ、今回のレビュー募集があり、複数台の
レンダリングサーバー環境をつくるいい機会と思い応募しました。
CPUのクロックが低めなので4台くらいあれば...と、ダメもとで4台で応募した
ところ、そのままの台数で選出して頂きました!
zigsow様、インテル様に感謝いたします。
■■■ サーバーマシンで使用したパーツ
└──────────────────────────────
・CPU - インテル Xeon E5-2620
・マザーボード - インテル DX79SI
・クーラー - サイズ 侍ZZリビジョンB SCSMZ-2100
・GPU - GIGABYTE GV-N440D3-1G
・メモリ - PATRIOT PC3-12800 DDR3-1600
・電源 - サイズ SoLID PoWERブロンズ SP-BZ-550A
・ケース - クーラーマスターElite 361
・記憶装置 WD Caviar Green 2TB 1台、 SSD Silicon Power 32G 3台
・ハブ - NETGEAR 8ポートハブ
・DVD BUFFALO ポータブルDVDドライブ
【パーツ名をクリックすると各パーツのレビューへ行けます】
■■■ レンダリングサーバーの構成
└──────────────────────────────
■■■ レンダリングソフトについて
└──────────────────────────────
CGソフトウェアのMayaには、フォトリアルな画像を生成する mental ray
for Mayaが 搭載されています。
このmental ray for Mayaは、リアルな画像をつくりだす時に、たくさんの
CPUパワーを必要とします。
ひとつのMayaライセンスには通常、8台 (スレッド数は関係なし)までの、
ディストリビュート・レンダリング・ライセンスが付属していて、 処理を
高速化することができます。
また、mental ray以外にも、10台までのディストリビュート・レンダリング・
ライセンスが付属するV-rayというソフトもあります。
こういった複数台のPCを追加する高速化以外に、最近のトレンドとして、
ビデオカードのGPUを使ったGPUレンダリングも出てきています。
しかし、まだ制限事項も多く、まだソフトレンダリングが主役です。
規模が小さいCGプロダクションでは、HPのワークステーションやショップの
BTOパソコンをレンダリング用として何十台と用意したりしています。
海外の大きなCGプロダクションでは、Xeonのブレードサーバーとかを使って
独自ソフト等でレンダリングをしています。
映画マダガスカルなどを制作した DreamWorks Animationでは最近、
Xeon 5600からXeon E5-2600にして、スピードがだいぶ上がったと海外の
ニュースにありました。
■■■ Xeon E5-2620 の外観
└──────────────────────────────
■■■ マシンを構築
└──────────────────────────────
パーツを購入してマシンを組みたてました。
マザーボードや消費電力などに関することは、こちらをご覧ください。
【マザーボードDX79SIのレビュー】
●1台目のサーバーのOS
サーバーの1台には、バックアップやメディアサーバーの目的で、
Windows Home Server 2011をインストールしました。
●残り3台のサーバーのOSの選定
サーバーにインストールする mental ray for Maya Satellite というソフトは、
WindowsにもLinuxにも対応しているので、OSはどれにしようかといろいろ
試してみました。
・Citrix XenServer
仮想化ソフトウェアをいれて、Windowsを仮想化ライセンスで安く済ま
そうかと思いました。
--> インストールしたところ、起動がフリーズ状態のように長く時間が
かかるようになってしまいました(たぶん未対応ハードがあり、
起動がうまくいっていない様子でした)。
そして次に、仮想マシンにテストでWinXPを入れようとしましたが、
うまくいかず、このままではレビュー締切に間に合わないと思い、
XenServerは今回は断念しました。
・Ubuntu
フリーのLinuxをいれてみました。
--> インストールしたところ、Ubuntuの素敵なUIに感動しました。しかし、
肝心の mental ray for Maya のソフトウェアが、rpmパッケージで
インストールできませんでした。
debに変換等をやってみましたが、うまくいかず、このままでは
レビュー締切に間に合わないと思い断念しました。
はじめての事は、すんなりとはいきません。ということで、とりあえず
Windows8 Consumer Preview版をインストールすることにしました。
●オーバークロック
E5-2620はクロック数は低めですがコア数が多いので、cinebenchでは、
定格の 2600K くらいのスコアが出るようです。
初めてのintelのマザーボードなので良く分からなかったんですが、オーバー
クロックをしてみました。
CPU倍率がロックされているので、ベースクロック周波数をちょっと上げて
みました。 結果、cinebenchスコアは、7.0 くらいになりました。
●サーバー管理の方法
フリーのリモートデスクトップソフトの「Mirror-DTC」を使うことにしました。
●4台完成
こうして、なんとか4台のレンダリングサーバーが出来ました。
各マシンに、念のためJUSTインターネットセキュリティ を入れときました。
サーバーは、普段はスリープさせておくつもりです。
■■■ mental ray for Maya レンダリングのベンチマーク結果
└──────────────────────────────
レンダリングさせたところ、設定ミスでしょうか、元からあったCorei7-920の
サブマシンだけレンダリングに参加してくれませんでした。
●レンダリング速度比較
メインマシンのみ (Corei7 2700K 4.7GHz) : 7分42秒
メインマシンとサーバー (4台のXeonE5-2620) : 4分02秒
レンダリング時間が、約半分になりました。
単純に4倍にならないのが微妙なところです。
今回のように、1枚の画像をメインマシンが計算するのを、サーバーが
補助するものだと、この程度のスピードアップなのかもしれません。
これではない、アニメーションの動画1枚1枚を、各マシンに割り振って
レンダリングするものだと、もっと効果が出ると思います。(現在の私の
Mayaのライセンスだと、これはテストできませんでした。今後 ライセンスの
変更をしたいと思っています。)
現状では、半分のスピードアップですが、アニメーションの場合には何枚もの
レンダリングが必要ですので、 1枚のレンダリングにかかる時間に よって
トータルの時間が、だいぶ違ってきます。
4日かかるものが、2日で出来ますので、レンダリングサーバーの導入で、
救われそうです。
■■■ 今後は?
└──────────────────────────────
今回のレビューで、安価にそして自作の楽しさを満喫しつつレンダリング
サーバーを構築できました。関係者の皆様ありがとうございました。
サーバーの処理性能は、メインマシンではないので現在のもので十分
満足していますが、更なる速度アップが欲しくなったら、
・デュアルソケットのマザーボードに取り換える
・CPUをLGA2011の3930K等に入れ替える
などが出来るかと思います。
以上でレビューを終わらせて頂ききます。
ここまで読んで頂きありがとうございました。
■■■ その後の追記
└──────────────────────────────
■ アニメーションのテスト
上記レビューと同じmentalray サテライト方式で、アニメーションの時間を計りました。
キャラクターのモーションの1カット 1秒分 30frame(30枚)
2700Kマシン のみ 約14分
2700Kマシン + 4サーバー 約13分
殆ど同じでした...○| ̄|_
簡単なデータだと、各マシンの処理の割り振りとかでオーバーヘッドがあって
そんなに速くならないのかもしれません。
mentalray サテライトという計算補助方式は、簡単なデータだと、いまひとつ
効果が出ないかもしれません。
「お手伝いさん、これやっといて」と、丸投げして、動画1枚1枚を各マシンに
割り振る mentalray バッチ方式が、メインマシンには負荷がないし、
良さそうです。 これだと、計算機の数だけ速くなりそうです。
■■■ まとめ
└──────────────────────────────
●ディストリビュート・レンダリング (計算補助方式のタイプ)
(mentalray サテライト方式)
--> 重い静止画をレンダリングするのに向いている
●ネットワーク・レンダリング (1枚1枚を各マシンがレンダリング)
(mentalray バッチ方式)
--> アニメーションに向いている
eulerさん
2012/05/08
私は完全趣味レベルですが、Shadeで3DCGもちょっとだけやるので並列レンダリングとかには興味がありました。
なので、ソフトは違ってもこういったレビューは非常に参考になります。
これでレンダリングだけで数日かかるアニメーションとかレンダリングしたらどうなるのだろうとかちょっとワクワクしたりしますね。
リーダーさん
2012/05/08
レンダリングの並列処理ができることすら知りませんでした。
レンダリングの処理時間が半分になるだけでも
かなりの体感速度アップですね!
愛生さん
2012/05/08
仮に、2台3台で運用した場合の結果も知りたいです。
いきものがかりさん
2012/05/08
すいません。
只今、 アニメーションをレンダリングした場合での速度を計測しています。
また、追記します。
ねおさん
2012/05/08
4台で2倍の処理速度に関してですが、√nで考えると4台で2倍は妥当な線ではないでしょうか。
単純に2台で2倍とならないところが、もどかしいところですが・・・
いきものがかりさん
2012/05/09
まーくんZさん
2012/05/09
Microsoftなんかは最近はコア数でとってたりしますからねぇ。
私も大昔、CGをちょっとかじっておりました。
大学の卒業研究は、大学の校舎の青写真を事務から借りてきて、外観だけAutoCADで作って、それをReal3Dというフィンランドだかノルウェーだかで作られたソフトでレンダリングしました。
当時…DX4-100というCPUでメモリ27MB…レンダリングに20時間かかった覚えがあります。
当時研究室にIndyがあって、Real3Dは分散レンダリングが可能だったのですけどIndy側にソフトがなかったので断念しました。
いまやCGやる人にとってはいい時代になりましたよね。
まぁその分どんどんお金かかるわけですけど。
いきものがかりさん
2012/05/09
Real3D というの昔、ありましたね。
研究室関係だと、インディ、O2、クリムゾン、オニキスとかが、あったりしますよね。