分散レンダリングの仕組み

 
 
 

レンダリングがコンピュータで開始されると、分散レンダリングが自動的に起動します。分散レンダリングを開始するコンピュータは[マスター](master)と呼ばれ、ネットワーク上の他のコンピュータは[スレーブ](slaves)と呼ばれます。マスターおよびスレーブ間では、mental ray サービスを介して通信が行われます。mental ray サービスは専用の TCP ポートを監視し、mental ray に情報を渡します。

分散レンダリングにはサテライトとスタンドアロンの 2 つのタイプがあります。ただし、mental ray サテライト分散レンダリング(raysat.exe)だけが Softimage の設定時にインストールおよび設定できます。mental ray スタンドアロン ソフトウェア(ray.exe)は別個の製品であり、その製品独自の設定とライセンス処理を通してインストールおよび設定されます。このセクションではサテライト分散レンダリングの例を使用していますが、ここで説明するほとんどの内容は mental ray スタンドアロン分散レンダリングの設定にも適用されます。

分散レンダリングのコンポーネント

サテライト分散レンダリングは多くのコンポーネントに依存しており、それらのコンポーネントは正しく設定しておく必要があります。

サテライト トークン

mental ray サテライト分散レンダリングでは、マスタコンピュータで Softimage ライセンスが必要となります。スレーブ コンピュータにはライセンスを別途用意する必要がありません。代わりに、マスター コンピュータには一定数のサテライト トークンがあり(既定は 4 個のトークン)、それぞれのサテライト トークンがレンダ スレーブ プロセッサに割り当てられます。マルチプロセッサ コンピュータでは、プロセッサごとに個別のトークンが必要です。サテライト分散レンダリングは、Softimage を使用してレンダリングを実行する場合にのみ機能します(ユーザ インタフェースまたはコマンド ラインを使用)。

mental ray サービス

  • Windows システムの場合、分散レンダリング サービスは TCP ポートを監視し、関連付けられているバッチ ファイルを実行します。サテライト分散レンダリングは、各コンピュータで raysatsi2013_3_10_1_4.bat バッチ ファイルを実行する raysatsi2013_3_10_1_4server サービスを使用します。

    これらのバッチファイルは、分散レンダリングに必要な環境変数を[setenv.bat]で設定した後、mental rayレンダラ([raysat.exe])を実行します。Windows における mental ray サービスの管理方法の詳細については、「mental ray サービスの管理」を参照してください。

  • Linuxシステムでは、[xinetd.conf]ファイルにより/etc/xinetd.dディレクトリから raysatsi2013_3_10_1_4 サービス設定ファイルが読み取られます。このサービスは[ray3.sh]スクリプトファイルを呼び出すように設定されています。ray3.shスクリプトファイルとは、分散レンダリングに必要な環境変数を設定した後、mental rayレンダラ([raysat])を実行するファイルです。

.ray3hosts ファイル

分散レンダリングの設定で、マスター コンピュータはローカルの .ray3hosts ファイルを読み取ります。このファイルには、レンダリングに使用するスレーブのリストが存在します。レンダリングされるイメージはセグメント(タイル)に分割され、キューに格納されます。各コンピュータ(マスターまたはスレーブ)は、レンダリング用のキューからタイルを要求します。

1 つのタイルのレンダリングが完了すると、そのタイルはマスターに送り返され、キューの別のタイルが要求されます。マスターでは、すべてのタイルが組み立てられ、完全なレンダリングされたイメージが作成されます。

.ray3hosts ファイルの設定方法の詳細については、「 .ray3hosts ファイルの定義」を参照してください。

linktab.ini ファイル

分散レンダリング中にスレーブが使用する追加情報(テクスチャ名やパスなど)は、すべてマスターから送信されます。レンダ スレーブに複数のオペレーティング システムが混在している場合は、[linktab] ファイルでファイル共有を調整できます。linktab ファイルの定義の詳細については、「Linktab.iniファイルの設定」を参照してください。