view conclusion.tex @ 7:bd8574dedd1b

*** empty log message ***
author gongo
date Tue, 25 Mar 2008 15:51:53 +0900
parents a46c6f313a0b
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 に書き換えることで
モデル検査を行うことができ、高い信頼性を得られる。