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