view paper/introduciton.tex @ 20:7cacc3f76c15

introduction fix.
author tkaito
date Thu, 03 Feb 2011 03:59:24 +0900
parents b250db0fada8
children 802804b095ea
line wrap: on
line source

\chapter{序論}
\pagenumbering{arabic}

\section{研究背景と目的}

我々は、マルチコア CPU による並列プログラムの並列度と信頼性の向上を目指している。
我々の研究室で開発した Cell Broadband Engine 上で動作する フレームワーク 
Cell TaskManager Cerium を用いて、高い並列度を維持するためのパイプラインの改良
手法を提案する。

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

現在、学生実験にて家庭用ゲーム機 PlayStation 3 (以後 PS3 ) を用いたゲーム開発を行っている。
その PS3 には Cell Broadband Engine というマルチコア 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} ) \\

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

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

\begin{comment}
\section{論文構成}

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

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

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

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

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