Mercurial > hg > Papers > 2008 > gongo-sigos
view conclusion.tex @ 10:887d57278cb6
*** empty log message ***
author | gongo |
---|---|
date | Wed, 26 Mar 2008 12:59:31 +0900 |
parents | bd8574dedd1b |
children | 6c558cd2ac8b |
line wrap: on
line source
\section{まとめ} 本研究では、Cell 上で動作する Task Manager を実装し、 3D Graphics Renderer である Cerium を開発した。 Cerium を用いることで、PlayStation 3 上という限られた環境だけでなく、 Linux や Mac OS X でもテストやデバッグを行うことが出来る。 また、 Task Manager の実装を進めれば、Cell 以外の Multi Core Architecture に対しても使用できると考えている。 \section{今後の課題} \subsection{Scene Graph} カメラや光源、コントローラ等からの入力に対応するノードが未実装である また、ネットワークを管理するノードを実装すれば、 Federated Linda \cite{fuchita} を用いた ネットワークゲーム開発も可能である。 \subsection{Rendering} 必要最低限の機能は実装しているが、ゲームとしては \begin{itemize} \item Shading \item Alpha blending \end{itemize} が欲しいところである。 現在は描画時に Z Buffer を用いているが、Z sort を用いることにより、 SPE 上に Z Buffer の領域は必要なくなる。 Z sort とは、面に対してどちらが手前にあるかというのを判断し、 おくにある面から描画していく手法である。 \subsection{Task Manager} プログラムを SPE 上にロードする機能は必須である。 このライブラリを学生が使用する場合、 並列化のためのデータとコードの分割は、 並列プログラミングの経験がない学生には難しいため、 何らかのひな形を示す必要がある。 \figref{fig-pipeline} では、Task Exec の中で DMA の処理を 行うことを想定した実装にはなっていない。 Exec の中でアドレスの計算をし、それを元に DMA 転送をする、というのもありえる。 しかし、ユーザが勝手に DMA 命令を発効すると、DMA 完了待ちやデータ重複など、 パイプラインの流れが崩れてしまう恐れがある。 それを回避する実装が必要である。 現在は C++ で記述しているが、CbC に書き換えることで モデル検査を行うことができ、高い信頼性を得られる。