view paper/introduciton.tex @ 19:b250db0fada8

Cerium chapter done. chapter 4 not yet.
author tkaito
date Thu, 03 Feb 2011 00:48:58 +0900
parents 4d67bd445a1d
children 7cacc3f76c15
line wrap: on
line source

\chapter{序論}
\pagenumbering{arabic}

\section{研究背景と目的}

我々は、マルチコア CPU による並列プログラミングの処理速度と信頼性の向上を目指している。


従来、コンピュータは CPU のクロック周波数を上昇させることで処理能力を高めてきた。
しかし、消費電力の増加や発生する熱の問題により、Core を複数持つことによって処理能力を
上昇させる方向に方針が変更されてきた。近年は様々なコンピュータにマルチコア CPU が
使われるようになっており、それに伴ってプログラミング手法も新たな曲面を見せている。

現在、学生実験にて家庭用ゲーム機 PlayStation 3 (以後 PS3 ) を用いたゲーム開発を行っている。
その PS3 には Cell Broadband Engine (以後 Cell )というマルチコア CPU が採用されている。
Cell Broadband Engine は1つの制御系プロセッサ PowerPC Processor Erement (PPE) と、
8つのデータ処理演算プロセッサ Synergistic Processor Element (SPE) から構成される 。
Cell は 複数の SPE を使用する並列プログラミングが求められている。並列プログラミング
の経験が浅い学生にとって、このような Cell アーキテクチャを理解した上でゲーム開発を
行うことは困難である。

このような問題を、限られた学生実験の中で解決するために、我々は Cell のような 
Many Core Architecture を用いた、並列プログラムの開発をサポートするフレームワークと
して Cell 用の Fine Grain Task Manager Cerium \cite{gongo} を開発した。
現在 Cerium では、 Task という処理の単位を用いて並列処理を実現している。
しかし、その並列度を保つことは難しく、並列プログラムの開発において
プログラムの並列度が保証されているわけではない。これはCerium内部の処理に
関しても言えることである。並列プログラムはその全体の処理で高い並列度を保たなければ
全体の並列度は著しく下がってしまう (Amdahlの法則 \cite{amdahl} )

そこで我々は、並列プログラムの高い並列度を維持する手法として、
パイプラインの改良を提案する。

本研究での Task の単位は、サブルーチンまたは関数とする。

\section{論文構成}

\begin{description}
\item[第2章] では Cell の詳細な仕様と、使用できる基本的な機能の説明を述べる。

\item[第3章] では Cerium を構成する機能の紹介と実装を述べる。

\item[第4章] では Task を用いたパイプラインの実装方法を述べる。

\item[第5章] では PS3上での並列プログラミングと Cerium を用いたプログラミングの比較
を行う。また、実際に学生に製作してもらったゲームを紹介する。

\item[第6章] において、まとめと今後の課題とする。
\end{description}