>   >  痴山紘史の日本CG見聞録:第7回:サーバの活用と制御
第7回:サーバの活用と制御

第7回:サーバの活用と制御

みなさんこんにちは。年に2回更新される、世界のスーパーコンピュータの性能ランキング Top500が発表されました。

※ Top500は、昔 「一位じゃないとだめなんですか?」で話題になったスーパーコンピュータのランキングです。

日本では国立研究開発法人 産業技術総合研究所(産総研)のAI Bridging Cloud Infrastructure(ABCI)が7位、最先端共同HPC基盤施設のOakforest-PACSが14位、国立研究開発法人 理化学研究所(理研)のが18位などなどとなっています。あれだけ世間を沸かせた京が今となっては18位なのかと思うと計算機の進歩の速さに改めて驚かされます。

TEXT_痴山紘史 / Hiroshi Chiyama(日本CGサービス
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)

新章突入

前回まではクライアント側での環境構築とレンダリングまでのながれをつくることに注目してお話を進めました。CG映像制作を行う場合、これと同じかそれ以上に大きな要素となるのがレンダーファームをはじめとしたサーバ側の計算機環境です。今回からは、サーバ側の技術に注目してお話を進めていきます。

プロダクションでサーバ側に行わせる仕事と言えばレンダリングが最も一般的でしょう。むしろ、それ以外となると意外と活用されていなかったりします。でも、レンダーファームとして用意されているものも、われわれが普段使用しているPCと同じハードウェア、OSが動いてて、同じプログラムが動くのです。ということは、普段手元のPCで行なっている処理でバッチ処理が可能なものの多くはサーバ側で処理できると考えるのが自然です。

先日行われたCGWORLD 2018 クリエイティブカンファレンスでも、アニマが「アニメ「モンスターストライク」の品質と物量を支えた、mGearを使ったアニメーションワークフロー」の中でサーバを使って各種自動化を行なっているという発表をされていました。ここではアセットのリギングやショットシーンのビルドといった処理をサーバ側で行う、素晴らしいしくみを垣間見ることができました。これは映像制作に直結するとても良い事例です。

ほかにも工夫次第で様々なことができます。例えば、アプリケーションのインストールをジョブとして投入することがあります。サーバが百台あった場合、一台一台手動でインストール作業を行うのはとても大変ですが、サーバ上で処理可能なジョブとして全マシンに投入すれば、ワンクリックで全マシンにインストールを行うことができます。このようなしくみがあるとないとで天と地ほどの差が生まれます。

サーバ側で処理をする環境がないと自分の作業マシンで重たい処理を走らせることしかできず、その間の30分とか1時間、手持無沙汰でとりあえず漫画でも見るか......となってしまいますが、これはとても勿体ないことです。上手くしくみをつくってサーバにがんばってもらうようにすれば格段に作業の密度を上げることができます。

世界の大型計算機

まず、世界中でどのような環境が構築・運用されているのか見てみます。私もいわゆるスーパーコンピュータは使用したことがないので、今回、記事を書くにあたっていろいろ調べてみました。万全を期して書いているつもりですが、間違っていたり抜けている部分があったらご指摘いただけると嬉しいです。

たくさんの計算機を並べて膨大な計算を行わせるというのはCGのレンダリングだけに限らず、多くの分野で行われています。前述の京も規模こそ桁ちがいですが、たくさんのCPUを並列して計算させるという意味では同じで、各種分野の最先端の研究に使用されています。京でどのような研究が行われているか紹介されているページもあるので興味のある方はご覧になってみてください。

どれくらいスーパーコンピュータがすごいのか比較するのに何かいい例はないかなと思って調べたところ、Top500で使用しているベンチマークソフトをMac book proで走らせている人がいました。この記事によると京と比べると、約28万倍くらいの性能差があるようです。興味本位で自分のPC(Dynabook R73, Corei7-4710MQ/Windows)でも試してみたところ75GFlops程度だったので京と比べて14万倍の差です。


ちなみに「そんなにすごい計算機があるなら、私もレンダリングとかシミュレーションに使いたい!!」と思うかもしれませんが、残念ながらわれわれが普段使用しているMayaやArnoldといったソフトウェアは動作させることができません。われわれが普段使っているPCにはIntel(もしくはその互換チップ)のCPUが載っていますが、京ではそれとは異なるしくみで動いているCPUが採用されているからです。ただ、世界にはIntelのCPUを使用したスーパーコンピュータも多数あります。

※ 例えば東京工業大学のTSUBAME3.0(正確にはNVIDIAのGPUがメインですが)や、Top500で4位となっているTianhe-2Aがあります。

そのため、これらはまったく別世界のお話というわけでもないです。そして、京やTSUBAMEも含めて最近のスーパーコンピュータの多くはLinuxで動いているため、手元にあるLinuxマシンでもスーパーコンピュータでも動作するソフトウェアというのがたくさん存在します。

※ ここでおや?と思った方は鋭いです。CPUアーキテクチャやOSが異なっていても動作するソフトウェアをつくることは可能なのです。ただ、そのためには膨大な労力を要するので対応するか否かは開発者の判断次第です。MayaやArnoldも、WindowsだけではなくLinuxやMac OSXで動きますよね。あれは開発者がものっっっっすごいがんばって対応しているのです。Maya(Alias)なんかは、昔は今とまったく異なるOS、CPUの環境で動いていましたしね。

ひるがえってCG界隈の計算機(レンダーファーム)はどうでしょうか。

Weta DigitalはTop500に情報が載っています

Wetaは2015年に実効性能470.6TFlops/sで187位でした。当時首位のTianhe-2Aの33,862.7TFlops/sと比較すると72倍のちがいがあることになります。Wetaはその後も2017年秋までは順位を下げつつもTop500に載っています。それから、Industrial Light & Magic(ILM)も掲載はされていますが情報がかなり古いです。ほかのプロダクションは私が探した範囲では見つけることができませんでした。

もちろん映像制作に使われる機材と研究・開発用途で使われる機材とでは、得意・不得意がちがうので一概に言うことはできないですが、これらの数字を見比べてみると何となく全体的な立ち位置はわかるかと思います。

次ページ:
制御に使用されているソフトウェア

その他の連載