diff paper/conclusion.tex @ 0:fd9154e03f46

thesis
author e065725@kinjyo.cr.ie.u-ryukyu.ac.jp
date Sat, 13 Feb 2010 21:38:25 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/conclusion.tex	Sat Feb 13 21:38:25 2010 +0900
@@ -0,0 +1,87 @@
+\chapter{結論} \label{chapter:conclusion}
+
+\section{まとめ}
+
+本稿では、Many Core Architecture を用いた、
+並列プログラムの開発をサポートするフレームワークとして
+Fine Grain Task Manager を提案し、Task Manager を用いて
+独自のレンダリングエンジンを持つPS3ゲーム開発フレームワークの
+Cerium を開発した。
+
+並列プログラミングの経験が浅い学生にとって、
+PS3 を用いたゲーム開発は困難で、学生実験の期間内に
+開発したゲームのレベルが毎年一定以上にはならないという問題があった。
+また、並列プログラムの特徴から、並列度の維持や信頼性の確保が困難であることが
+指摘されている。
+
+そこで、第\ref{chapter:taskmanager}章では
+並列プログラミングのフレームワークとして TaskManager の仕様と実装を説明し、
+この TaskManager を用いた Sort プログラムでは
+並列度が確保でき、台数効果が出ていることが確認できた。
+
+第\ref{chapter:cerium}章では、TaskManager を用いた、ゲーム開発用
+フレームワークである Cerium の仕様と実装を説明した。
+また、実際に学生に Cerium を用いてゲーム開発を行ってもらい、
+その結果から Cerium のフレームワークとしての有用性と
+今後必要な実装を確認できた。
+
+最後に、第\ref{chapter:compare}章では、
+Khronos OpenCL Working Group が開発している、
+並列プログラミングのフレームワークである OpenCL 及び、
+Cell で動作する OpenGL のドライバである Gallium3D について説明し、
+TaskManager 、Cerium との比較を行った。
+
+TaskManager 及び TaskManager を機能の一つとする Cerium は、
+学生にとって身近なアーキテクチャである Mac OS X や Linux、
+学生には困難な並列プログラミングが必要となる PS3 Cell など、
+複数の環境で動作することが可能である。
+学生が手を付けやすい環境から開発を始めることができ、
+大幅な変更なく PS3 上で動作を確認できる。
+更に、タスク単位で Cell に特化したプログラミングを行うことで
+PS3 上で動作するゲームの開発が可能となる。
+
+\section{今後の課題}
+
+\subsection{SceneGraph の SPE 上での実行}
+
+\ref{sec:cerium_student}節 で述べたように、現在 SceneGraph は
+メインスレッドのみで実行されている。
+衝突判定や行列演算など、SPE で効果的な演算を多くもつ SceneGraph を
+SPE 上で実行させる必要がある。
+
+%しかし、SPE には分岐予測命令がないため、
+%if 文を多用する木構造のアクセスはクリティカルな処理となる。
+%また、SPE 上で木の要素を追加した場合、それをメインメモリに反映させる
+%必要があるが、独立した要素毎にメインメモリへのアロケートを行うのも
+%重い処理となる。
+
+%そこで、SceneGraph を木構造ではなく、それを表す配列として持つ
+
+%そのために実装の必要がある機能を以下に示す。
+%
+%\begin{itemize}
+%\item SPE 上での SceneGraph の操作 (add, remove)
+%\item 
+%\end{itemize}
+
+\subsection{SPE 上での SIMD 演算の導入}
+
+現在の SPE 上での処理は全てスカラ演算で記述されており、
+SPE の機能を活用するには SIMD 演算を使用する方が効果的だと期待している。
+また、コンパイラの最適化により、自動的に SIMD 演算に変換されるような
+データ構造を採用するのも効果的だと考えている。
+
+\subsection{SPE 上でのテクスチャデータの管理}
+
+\ref{sec:cerium_rendering_texture_hash}節 で述べたように、
+現在テクスチャの追い出し処理は FIFO で実装している。
+そのため、テクスチャのヒット率が確保できない可能性がある。
+高いヒット率を維持するためには、さらに効果的な追い出し法を採用する必要がある。
+
+また、同じテクスチャを使う Span を同じ SPE に集めるなどの、
+データ構造や SPE への割り振り処理を修正する必要がある。
+
+テクスチャの圧縮による、SPE 上のテクスチャデータの保存数を増やすことも
+効果的だと考えられる。
+
+%\subsection{コードの入れ替え}