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