6
|
1 \section{まとめ}
|
|
2 本研究では、Cell 上で動作する Task Manager を実装し、
|
|
3 3D Graphics Renderer である Cerium を開発した。
|
|
4 Cerium を用いることで、PlayStation 3 上という限られた環境だけでなく、
|
|
5 Linux や Mac OS X でもテストやデバッグを行うことが出来る。
|
|
6
|
|
7 また、 Task Manager の実装を進めれば、Cell 以外の
|
|
8 Multi Core Architecture に対しても使用できると考えている。
|
|
9
|
|
10 \section{今後の課題}
|
|
11
|
|
12 \subsection{Scene Graph}
|
|
13 カメラや光源、コントローラ等からの入力に対応するノードが未実装である
|
|
14
|
|
15 また、ネットワークを管理するノードを実装すれば、
|
|
16 Federated Linda \cite{fuchita} を用いた
|
|
17 ネットワークゲーム開発も可能である。
|
|
18
|
|
19 \subsection{Rendering}
|
|
20 必要最低限の機能は実装しているが、ゲームとしては
|
|
21
|
|
22 \begin{itemize}
|
|
23 \item Shading
|
|
24 \item Alpha blending
|
|
25 \end{itemize}
|
|
26
|
|
27 が欲しいところである。
|
|
28
|
|
29 現在は描画時に Z Buffer を用いているが、Z sort を用いることにより、
|
|
30 SPE 上に Z Buffer の領域は必要なくなる。
|
|
31 Z sort とは、面に対してどちらが手前にあるかというのを判断し、
|
|
32 おくにある面から描画していく手法である。
|
|
33
|
|
34 \subsection{Task Manager}
|
|
35 プログラムを SPE 上にロードする機能は必須である。
|
|
36
|
|
37 このライブラリを学生が使用する場合、
|
|
38 並列化のためのデータとコードの分割は、
|
|
39 並列プログラミングの経験がない学生には難しいため、
|
|
40 何らかのひな形を示す必要がある。
|
|
41
|
7
|
42 \figref{fig-pipeline} では、Task Exec の中で DMA の処理を
|
|
43 行うことを想定した実装にはなっていない。
|
|
44 Exec の中でアドレスの計算をし、それを元に DMA 転送をする、というのもありえる。
|
|
45 しかし、ユーザが勝手に DMA 命令を発効すると、DMA 完了待ちやデータ重複など、
|
|
46 パイプラインの流れが崩れてしまう恐れがある。
|
|
47 それを回避する実装が必要である。
|
|
48
|
6
|
49 現在は C++ で記述しているが、CbC に書き換えることで
|
|
50 モデル検査を行うことができ、高い信頼性を得られる。
|