テクノロジー : ネットワークを活用したビルド

ARTICLE BY:
POSTED:

TAGS:

イングランドの作家ジョン・ヘイウッドは、「人手が多ければ仕事は楽になる」という名言を残しています。私たちは、この言葉をゲーム開発に取り入れるべく、「人手」を「コンピュータ」に置き換え、独自の分散ビルドシステム、SN-DBSを開発しました。

SN-DBS は、ネットワーク上の複数のコンピュータ間で処理を分散することにより、ゲームコンソール開発プロジェクトのコンパイル時間を大幅に削減します。

SN-DBS

SN-DBSがインストールされた個々のコンピュータは、「エージェント」と呼ばれます。「エージェント」は複数にでき、「ブローカー」という1台のコンピュータがこれらすべてのエージェントを管理します。

SN-DBSはバックグラウンドで動作するため、ホストコンピュータの通常のパフォーマンスに与える影響が最低限に抑えられます。ブローカーは、SN-DBSネットワーク内でビルドを分散します。各エージェントは、ビルドを開始することに加え、各自の処理能力を他のエージェントに提供することもできます。

SN-DBS の仕組み

ソースファイル、ヘッダーファイル、コンパイラツール一式が、該当ジョブの依存ファイルとしてマークされます。その後、ジョブの内容がエージェントに送信され、処理が開始されます。

ジョブがエージェントにスケジュールされると、エージェントは、キャッシュから欠落しているすべてのファイルを要求します。そして、必要なファイルをすべて受信すると、コンパイルを実行し、コンパイル後のファイルをスケジュール発行元クライアントに戻します。SN-DBSは、コンパイルファイルを受信し、それをファイルシステム内の適切な場所に配置します。これでビルド完了です!

パフォーマンス

SN-DBSは、ゲームコンソール開発プロジェクトにおいて、ビルド時間全般を大幅に削減します。最適化されたジョブスケジューラのパイプライン化では、各エージェントで利用可能なすべてのCPUコアにジョブを転送します。また、ネットワークトラフィックをできるだけ減らすために、ファイルをキャッシュします。

実際のパフォーマンスはSN-DBSネットワーク上のコンピュータの数によって異なりますが、200を超えるエージェントを使って分散ビルドを行うお客様もいらっしゃいます。以下の表は、典型的な分散ビルドシナリオです。

表 1. ローカル ビルド vs. SN-DBSビルド

ビルドの種類コア数所要時間
ローカル 4 5 分
SN-DBS 100 26 秒

SN-DBSは、ゲームデベロッパがビルドの完了を待ち続けることなく、ゲーム開発を心ゆくまで楽しむことができるように設計された製品なのです。

トップに戻る