view paper/conclusion.tex @ 1:5dbcea03717e draft

fix
author Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
date Tue, 07 Feb 2012 17:38:59 +0900
parents 6d80c2c895e4
children 6cf0f731cbde
line wrap: on
line source

\chapter{結論} \label{chapter:conclusion}
\section{まとめ}
本研究では並列プログラミングフレームワーク Cerium の改良を行った。Cerium は並列プログラミングをサポートする TaskManager、ソフトウェアレンダリングを行う RenderinEngine, ゲームのシーンを記述していく、SceneGraph から構成されている。学生実験で行うCell上でのゲーム作成を考慮にいれた並列プログラミングフレームワークである。Ceirum 開発後に学生実験での使用や、例題を実装していく上で、仕様通りの稼働率がでないことや、アーキテクチャ依存の記述が避けづらいことなど、フレームワークとしての信頼性が十分でないことが明らかになった。
特に Cell上での実行の場合には、SPE との通信の待ち時間が約70\%と、処理性能に関わっている。そこで SPE と PPE の通信部分である Mail について、TaskArrayの実装と使用、ソフトウェアMailQueueの実装をし改良を行った。その結果 FPS の向上、Mail 待ち時間の減少に効果が見られた。
また、Task 内でのアーキテクチャ依存の記述を MemorySegment によって、避けることに成功した。また MemorySegment を用いることでメモリ管理を抽象化することができる。その他の先行研究の改良として、Task のパイプライン化、Texutre のキャッシュなどがある。これらの改良によっても、FPSの向上や、DMA転送の待ち時間が改善された。Cerium の改良を重ね、結果として約17FPSの向上に成功した。また Mail の待ち時間は約18\%削減できた。

\section{今後の課題}
\subsection{プログラムの Task化}
各コアの稼働率の向上のためには、本研究で行った改良の他に、プログラムの Task 化を進める必要がある。Mail の通信の待ち時間は内訳は

\begin{description}
\item PPE の対応が遅れる
\item SPE が他の SPE を待つ
\end{description}

の二つの要素がある。PPE の対応が遅れる場合には PPE側に処理するべきプログラムがあり、Mail の対応が遅れる原因がある。
そのため 制御用の PPE は処理するべきプログラムは排除し、Mail 通知の対応や、Task の割り振りを専門に PPE が行うことによって、SPE の稼働率向上を果たせると考える。また バリア同期を行うと 割り振られた処理によっては 他の SPE よりも早く処理が終了し、他の SPE を待つ時間が生じる場合がある。この二つの要素は、PPE 側のプログラムの Task化 を行い、さらにその Task はなるべく粒度を細かく設定することで解決できると考える。プログラムを Task 化しなるべく PPE ではなく SPEに処理を任せる。また粒度を細かくすることは、各 SPE への均等な Task の分散のために必要であり、並列化部分の特定にも繋がる。

\subsubsection{SPE の LS の利用方法}
\subsubsection{Task のインターフェイス}
\subsubsection{自動的な依存関係の解決}




\subsection{DataSegment}
\subsection{CodeSegment}