view abstract~ @ 20:f295152e8335 default tip

fix
author Yutaka_Kinjyo
date Thu, 14 Apr 2011 14:15:00 +0900
parents 2a783e79e31e
children
line wrap: on
line source

ゲームフレームワーク Cerium TaskManager の改良

Mac OSX, Linux, Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。
Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。
PPE の Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。
PPE の Mail 待ち時間をなるべく無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更を行った。また、ソフトウェアレンダリングの例題によって約7倍の処理速度の向上があった。


mail queue
mail のタイミング
SPEキャッシュ の実装



Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。
Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。

しかし

PPE からの Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。

また

SPE へのデータ転送を頻繁に行うと転送のオーバーヘッドがかかる。
一度SPEに割り振ったデータをキャッシュしておくことによって、データの転送の回数を減少させることができる。

そこで

PPE の Mail 待ち時間、データの転送時間を
無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更、SPE内のキャッシュの実装を行った。

これらの改良後、

例題を用いて計測を行った結果、処理速度は約7倍向上した。




___________________________________________________


Cell/PS3 上で動作するゲームフレームワーク Cerium を開発した。Cerium 上では主に関数を Task という単位で定義する。
Task は Cell上の場合、 PPE から各 SPE に割り振られ並列実行される。割り振りの際には Cell の Mail 機能を使っている。

しかし

PPE からの Mail 応答が遅い場合には SPE の待ち時間が発生し、処理性能が低下する。

また

SPE へのデータ転送を頻繁に行うと転送のオーバーヘッドがかかる。
一度SPEに割り振ったデータをキャッシュしておくことによって、データの転送の回数を減少させることができる。

そこで

PPE の Mail 待ち時間、データの転送時間を
無くすために、mail queue を実装, mail のタイミングの変更、それ伴うデータ構造の変更、SPE内のキャッシュの実装を行った。

これらの改良後、

例題を用いて計測を行った結果、処理速度は約7倍向上した。