Fine grain Task Manager Cerium のチューニング

108574D 金城裕

指導教官:河野真治

琉球大学大学院理工学研究科情報工学専攻並列信頼研

研究目的 と 背景

現在 Cell/PS3またはMac OS X上で動作するOpen CL 的なFine Grain Task Manager である Cerium Task Manager を開発中である。

本研究ではその待ち時間を削減するTask arrayを提案し実装した。その効果について報告する

発表の流れ

Cellとは

Cell(Cell Broadband Engine)とはソニー、東芝、IBM社の3社が共同開発したマイクロプロセッサ
Cellは1基の制御系のプロセッサコアPPEと、8基の演算系プロセッサコアSPE で構成される(Ceriumで扱えるSPEの数は6基)。

Ceriumとは

Ceriumとは、当研究室で開発したPS3/Cell、Mac OS X、Linux 上で動作するゲームフレームワーク。 以下の3つの要素から構成されている。

Ceriumとは

Ceriumとは、当研究室で開発したPS3/Cell、Mac OS X、Linux 上で動作するゲームフレームワーク。 以下の3つの要素から構成されている。

TaskManager

CeriumにおけるTask

TaskはTaskManagerを使って生成する。Taskを生成する際に以下のような要素が 設定可能である。

CeriumにおけるTask

Input data

CeriumにおけるTask

Output data

CeriumにおけるTask

Paramater
CPU type

CeriumにおけるTask

Dependency

CeriumにおけるTask

Dependency

CeriumにおけるTask

Dependency

CeriumにおけるTask

Dependency

CeriumにおけるTask

Dependency

Taskの送信

Mail通知

TaskArray

SPEの待ちを解消するためにTaskArrayを提案、実装した

TaskArray

期待される効果

TaskArray

WordCountのTaskと、レンダリングエンジンのTaskの一部をTaskArray化した。 その結果を報告する

それぞれのTask内容

WordCount

WordCount

WordCount


Task TaskArray
time 2.184s 2.109s
dma wait 18% 12%
mail wait 5% 8%

WordCount

  • あまり効果は見られなかった
  • PPE側のTaskがないので、あまりmail待ちが入らない
  • ファイルのサイズが大きいのでメモリアクセスで時間がかかる

Task TaskArray
time 2.184s 2.109s
dma wait 18% 12%
mail wait 5% 8%

WordCount

改善策
  • 一度にファイルマッピングをしない
  • 何度かに分けてマッピングする
  • 同じ領域を切り替えて使う
  • スワップを減らし、アクセス時間を短縮する
  • dma wait の割合が減る

レンダリングエンジン

構成Task
  • CreatePolygonTask
  • CreateSpanTask
  • DrawSpanTask(TaskArray化)

DrawSpanTask : Taskの数が多いDrawSpanTaskをTaskArray化した。地球と月を表示する 例題を対象に計測した。

レンダリングエンジン

  • FPS : 一秒間に表示できるFrame数
Task TaskArray
FPS 3.94 4.32
dma wait 0.06% 0.07%
mail wait 55% 42%

  • mail wait 割合が減った
  • レンダリングエンジンの場合、PPE側で実行するTaskがあるので、 mailチェックが遅れ気味

まとめ

  • 複数のTaskをまとめるTaskArrayを提案、実装した。
  • PPE側が忙しく、mailチェックが遅れる場合に効果的
  • PPE側にTaskがない場合は、mailチェックは間に合う
  • WordCountはdma転送がネックになっている
  • マッピングの方法、Taskのスケジューリングを工夫して、dma転送時間を削減できる

end

    /*end*/

    [any material that should appear in print but not on the slide]