Mercurial > hg > Papers > 2011 > kaito-master
view paper/introduciton.tex @ 4:8ac265ecf3b2
introduction isn't done yet.
author | tkaito |
---|---|
date | Sun, 09 Jan 2011 23:16:20 +0900 |
parents | 2f737fb2dff4 |
children | 434ddc4a3970 |
line wrap: on
line source
\chapter{序論} \pagenumbering{arabic} \section{研究背景と目的} これまで、コンピュータの 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 単位で並列処理を監視し、プログラムの並列度を検証する手法を 提案する。 検証手法としては以下のものを提案する。 \begin{enumerate} \item Task の依存関係を用いた検証手法 \label{path1} \item Task 実行時間時系列を用いた検証手法 \label{path2} \end{enumerate} これらの手法を用いて検証を行い、ボトルネックや稼働率の少ない 箇所を見つけることで、性能向上のための改善点を発見することができる。\\ 本研究での Task の単位は、サブルーチンまたは関数とする。 検証手法 \ref{path1} では、 Task に設定されている依存関係を調べ、 特定の Task への依存度の高さから検証を行う。 検証手法 \ref{path2} では、実際に動作してる Task の実行時間を時系列順に 取り出し、稼働率の点から検証を行う。 \section{論文構成}