annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e2a1c9895c12 first commit.
tkaito
parents:
diff changeset
1 \chapter{序論}
e2a1c9895c12 first commit.
tkaito
parents:
diff changeset
2 \pagenumbering{arabic}
e2a1c9895c12 first commit.
tkaito
parents:
diff changeset
3
e2a1c9895c12 first commit.
tkaito
parents:
diff changeset
4 \section{研究背景と目的}
3
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
5 これまで、コンピュータの CPU はクロック周波数を上昇させることで処理能力を高めてきた。
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
6 しかし、消費電力の増加や発生する熱の問題により、Core を複数持つことによって処理能力を
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
7 上昇させる方向に方針が変更されてきた。近年は様々なコンピュータにマルチコア CPU が
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
8 使われるようになっており、それに伴ってプログラミング手法も新たな曲面を見せている。
0
e2a1c9895c12 first commit.
tkaito
parents:
diff changeset
9
4
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
10 現在、学生実験にて家庭用ゲーム機 PlayStation 3 (以後 PS3 ) を用いたゲーム開発を行っている。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
11 その PS3 には Cell Broadband Engine (以後 Cell )というマルチコア CPU が採用されている。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
12 Cell Broadband Engine は1つの制御系プロセッサ PowerPC Processor Erement (PPE) と、
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
13 8つのデータ処理演算プロセッサ Synergistic Processor Element (SPE) から構成される 。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
14 Cell は 複数の SPE を使用する並列プログラミングが求められている。並列プログラミング
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
15 の経験が浅い学生にとって、このような Cell アーキテクチャを理解した上でゲーム開発を
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
16 行うことは困難である。
3
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
17
4
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
18 このような問題を、限られた学生実験の中で解決するために、我々は Cell のような
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
19 Many Core Architecture を用いた、並列プログラムの開発をサポートするフレームワークと
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
20 して Cell 用の Fine Grain Task Manager Cerium \cite{gongo} を開発した。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
21 現在 Cerium では、 Task という処理の単位を用いて並列処理を実現している。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
22 しかし、その並列度を保つことは難しく、並列プログラムの開発において
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
23 プログラムの並列度が保証されているわけではない。これはCerium内部の処理に
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
24 関しても言えることである。並列プログラムはその全体の処理で高い並列度を保たなければ
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
25 全体の並列度は著しく下がってしまう (Amdahlの法則 \cite{amdahl} )
3
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
26
4
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
27 そこで我々は、Task 単位で並列処理を監視し、プログラムの並列度を検証する手法を
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
28 提案する。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
29
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
30 検証手法としては以下のものを提案する。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
31
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
32 \begin{enumerate}
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
33 \item Task の依存関係を用いた検証手法 \label{path1}
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
34 \item Task 実行時間時系列を用いた検証手法 \label{path2}
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
35 \end{enumerate}
3
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
36
4
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
37 これらの手法を用いて検証を行い、ボトルネックや稼働率の少ない
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
38 箇所を見つけることで、性能向上のための改善点を発見することができる。\\
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
39
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
40 本研究での Task の単位は、サブルーチンまたは関数とする。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
41
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
42 検証手法 \ref{path1} では、 Task に設定されている依存関係を調べ、
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
43 特定の Task への依存度の高さから検証を行う。
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
44 検証手法 \ref{path2} では、実際に動作してる Task の実行時間を時系列順に
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
45 取り出し、稼働率の点から検証を行う。
3
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
46
2f737fb2dff4 introduction not done.
tkaito
parents: 0
diff changeset
47 \section{論文構成}
4
8ac265ecf3b2 introduction isn't done yet.
tkaito
parents: 3
diff changeset
48