view conclusion.tex @ 19:d43fc19aed85 default tip

update tags
author convert-repo
date Mon, 10 Nov 2008 04:59:37 +0000
parents 6c558cd2ac8b
children
line wrap: on
line source

\section{まとめ}
本研究では、Many Core Architecture 向けの Fine Grain Task OS を提案し、
例題として Cell 上で動作する、ゲームプログラム用 OS である Cerium を開発した。
Cerium を用いることで、PS3 上という限られた環境だけでなく、
Linux や Mac OS X でもテストやデバッグを行うことが出来るため、
並列プログラミング経験の低い学生の実験にも使用できる。

\section{今後の課題}
ここでは、Cerium に関する課題を示す。

\subsection{Scene Graph}
カメラや光源、コントローラ等からの入力に対応するノードが未実装である

\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 完了待ちやデータ重複など、
パイプラインの流れが崩れてしまう恐れがある。
それを回避する実装が必要である。