Mercurial > hg > Papers > 2011 > toma-prosym
annotate Paper/prosym.tex @ 9:9dad8afbb71e
add jtygm.sty
author | Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Nov 2011 02:12:16 +0900 |
parents | d2a7c6e8ac7e |
children | f3144077d2c1 |
rev | line source |
---|---|
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
1 \documentclass[private]{ipsjpapers} |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
2 \usepackage[dvipdfmx]{graphicx} |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
3 \usepackage{url} |
9 | 4 \usepackage{jtygm} |
0 | 5 |
6 % 巻数,号数などの設定 | |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
7 % \setcounter{巻数}{0} |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
8 % \setcounter{号数}{0} |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
9 % \setcounter{volpageoffset}{0} |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
10 % \受付{2011}{11}{18} |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
11 % \採録{0}{0}{0} |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
12 |
6 | 13 % ページ番号を表示しない |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
14 \pagestyle{empty} |
0 | 15 |
16 % ユーザが定義したマクロなど. | |
17 \makeatletter | |
18 \let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY} | |
19 \def\<{\(\langle\)} | |
20 \def\>{\(\rangle\)} | |
21 \def\|{\verb|} | |
22 \def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline} | |
23 \def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\} | |
24 \def\LATEX{\iLATEX\Large} | |
25 \def\LATEx{\iLATEX\normalsize} | |
26 \def\LATex{\iLATEX\small} | |
27 \def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em | |
28 T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX} | |
29 \def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi} | |
30 \def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi} | |
31 \def\Quote{\list{}{}\item[]} | |
32 \let\endQuote\endlist | |
33 \def\TT{\if@LaTeX@e\tt\fi} | |
34 \def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else | |
35 $\backslash$#1\fi} | |
36 | |
37 %\checklines % 行送りを確認する時に使用 | |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
38 |
0 | 39 \begin{document}%{ |
40 % 和文表題 | |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
41 \title[Cerium Task Manager における Linux 上での並列実行機構の実装]% |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
42 {Cerium Task Manager における Linux 上での並列実行機構の実装} |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
43 |
0 | 44 % 英文表題 |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
45 \etitle{Implementation of Parallel Execution of Cerium Task Manager on Linux} |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
46 |
0 | 47 % 所属ラベルの定義 |
3 | 48 \affilabel{URYUKYU}{琉球大学\\University of the Ryukyus} |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
49 |
0 | 50 % 和文著者名 |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
51 \author{當眞 大千\affiref{URYUKYU}\nomember{}\and |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
52 金城 裕\affiref{URYUKYU}\nomember{}\and |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
53 河野 真治\affiref{URYUKYU}\member{19841765}} |
0 | 54 |
55 % 英文著者名 | |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
56 \eauthor{Daichi Toma\affiref{URYUKYU}\and |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
57 Yutaka Kinjo\affiref{URYUKYU}\and |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
58 Shinji KONO\affiref{URYUKYU}} |
0 | 59 |
60 % 連絡先(投稿時に必要.製版用では無視される.) | |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
61 \contact{當眞 大千\\ |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
62 903-0213 沖縄県中頭郡西原町字千原1\\ |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
63 琉球大学情報工学科\\ |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
64 TEL: (098)895-8723\qquad FAX: (098)895-8727\\ |
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
65 email: toma@cr.ie.u-ryukyu.ac.jp} |
0 | 66 |
67 % 和文概要 | |
68 \begin{abstract} | |
7
f12135af6731
complete for the time being
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
69 本研究室で作成した Cerium Task Manager\cite{gongo:2008a} は, Task 単位で記述するゲームフレームワークである. |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
70 % Cerium Task Manager では, Task に input データ, output データ及び依存関係を設定し, |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
71 % Task Manager としてそれらの Task を管理し, 実行する. |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
72 今までは, PlayStation 3/Cell\cite{cell} 上でのみ, 並列実行を可能にしていたが, |
3 | 73 今回新たに Mac OS X, Linux 上での並列実行に対応した. |
74 % 今回のポスター発表では, 既存の Cerium Task Manager の実装の説明, | |
75 % 新しい並列実行の機構についての説明及び実際に Cerium Task Manager を利用して, 並列実行のデモを行う. | |
6 | 76 本論文では, 既存の Cerium Task Manager の実装と新たに実装した並列実行の機構について説明する. |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
77 |
0 | 78 \end{abstract} |
79 % 英文概要 | |
80 \begin{eabstract} | |
7
f12135af6731
complete for the time being
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
81 We have developed Cerium Task Manager\cite{gongo:2008a} of Game Framework. |
6 | 82 Until now, Cerium Task Manager was able to enable parallel execution only on the PlayStation 3/Cell\cite{cell} , |
8
d2a7c6e8ac7e
typo: executation -> execution
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
83 It new supporting parallel execution on Mac OS X and Linux. |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
84 In this paper, we described implementation of existing Cerium Task Manager and a new parallel execution. |
0 | 85 \end{eabstract} |
86 | |
87 % 表題などの出力 | |
88 \maketitle | |
89 | |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
90 % ページ番号を表示しない |
6 | 91 % maketitleの定義が邪魔するので, 1ページ目だけはthispagestyleを使う必要がある |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
92 \thispagestyle{empty} |
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
93 |
0 | 94 % 本文はここから始まる |
95 | |
2
8f32e5a9b9ed
add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
96 \section{はじめに} |
6 | 97 プロセッサメーカは, 消費電力, 発熱及びクロックの限界という観点から, |
98 マルチコア構成の路線を打ち出しており, 今後ますますマルチコアプロセッサが主流になると想像できる. | |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
99 |
6 | 100 マルチコアプロセッサ上で, リソースを有効活用するためには, 並列プログラムを行う必要があるが, |
101 効率の良い並列プログラムを書くことは難しい. | |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
102 |
7
f12135af6731
complete for the time being
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
103 そこで, 本研究室で作成した Cerium Task Manager\cite{gongo:2008a} をマルチコアプロセッサに対応させることで, |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
104 マルチコアプロセッサ上での Task 単位による並列プログラミングをサポートする. |
4
4f3c7e4293f8
add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
3
diff
changeset
|
105 |
6 | 106 今まで, Cerium Task Manager は, PlayStation 3/Cell\cite{cell} 上でのみ, 並列実行を可能にしていたが, |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
107 今回新たに Mac OS X, Linux 上での並列実行に対応した. |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
108 |
6 | 109 本論文では, まず既存の Cerium Task Manager の実装について説明する. |
110 その後, 新たに実装した並列実行の機構について説明する. | |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
111 |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
112 \section{Cerium Task Manager}\label{section:cerium} |
8
d2a7c6e8ac7e
typo: executation -> execution
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
7
diff
changeset
|
113 Cerium Task Manager は, Cell 用に開発されたゲームフレームワークであり, |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
114 Rendering Engine を含む. |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
115 |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
116 Cerium Task Manager では, 並列処理を Task 単位で記述する. |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
117 関数やサブルーチンを Task として扱い, |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
118 Task には, input データ, output データ及び依存関係を設定する. |
3 | 119 Cerium Task Manager によってそれらの Task は管理され, 実行される. |
0 | 120 |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
121 Cerium Task Manager は, PlayStation 3/Cell, Mac OS X 及び Linux 上で利用することができ, |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
122 それぞれのプラットフォームで同じプログラムを動作させることができる. |
3 | 123 これにより, アーキテクチャに依存しないプログラムを記述することが可能である. |
0 | 124 |
6 | 125 \subsection{Cerium Task Manager の特長} |
126 Cerium Task Manager では, プログラムの様々なレベルでパイプラインが構成されるので, | |
127 プログラムの性能向上が見込める\cite{kaito:master}. | |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
128 |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
129 また, Task 自体は入力データから, 出力データを計算するだけなので非常に単純だが, |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
130 その入出力データをダブルバッファリングとして切り替えたり, |
6 | 131 適切な並列度が得られるように徐々に生成するのは非常に煩雑となる. |
7
f12135af6731
complete for the time being
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
132 さらに, これらのデータ管理は, 並列実行を行うアーキテクチャに特化した処理が必要となる\cite{yutaka:2011b}. |
6 | 133 Cerium Task Manager を利用することで, このような煩わしいことから解放され, |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
134 並列計算の実装に集中することができる. |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
135 |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
136 |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
137 \section{新たに実装した並列実行の機構}\label{section:impl} |
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
138 |
3 | 139 PlayStation 3/Cell 上の場合, 各 SPE に Task が割り当てられ, 並列に実行される. |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
140 |
3 | 141 今回新たに, Mac OS X, Linux 上でも並列に実行させることを可能にした. |
5
e284dc62f608
Described implementation of existing Cerium Task Manager
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
4
diff
changeset
|
142 これは, PlayStation 3/Cell の Mailbox に対応させる形で, |
6 | 143 Synchronized Queue を用いて Mac OS X, Linux 側の Cerium Task Manager の設計をし直したものである. |
144 | |
145 \subsection{Mailbox} | |
146 Mailbox は, Cell の機能の1つである. | |
147 Mailbox は, PPE と SPE の間を双方向で, 32 bit メッセージの受け渡しが可能であり, | |
148 FIFO キュー構造になっている. | |
149 | |
150 \begin{figure}[h] | |
151 \begin{center} | |
152 \includegraphics[scale=0.4]{./pic/Mailbox.eps} | |
153 \end{center} | |
154 \caption{Mailbox} | |
155 \label{fig:mailbox} | |
156 \end{figure} | |
157 | |
158 \subsection{Synchronized Queue} | |
159 Maiilbox に対応させる形で作成した, Linux 上で動作する同期キューである. | |
160 キューを操作しているスレッドが常に1つになるよう, バイナリセマフォで管理されている. | |
161 各スレッドは, input 用と output 用として Synchronized Queue を2つ持っており, | |
162 管理スレッドからタスクを受けて並列に実行するようになっている. | |
163 | |
164 \subsection{ベンチマーク} | |
165 0からnまでに含まれる素数の探索を行う例題を用いた. | |
166 表\ref{table:benchmark}に結果を示す. | |
167 | |
168 {\bf 実験環境} | |
169 \begin{itemize} | |
170 \item OS : CentOS 6.0 | |
171 \item CPU : Intel(R) Xeon(R) CPU X5650 @2.67GHz (仮想環境で 4 コアのみ使用) | |
172 \item Memory : 8GB | |
173 \end{itemize} | |
174 | |
175 \begin{table}[h] | |
176 \begin{center} | |
177 \caption{ベンチマーク} | |
178 \label{table:benchmark} | |
179 \begin{tabular}[t]{l||l|l} | |
180 \hline | |
181 スレッド数 & $\displaystyle n =10^6$ & $\displaystyle n =10^7 $\\ | |
182 \hline\hline | |
183 1 スレッド & 239 ms & 2641 ms\\ | |
184 \hline | |
185 4 スレッド & 104 ms & 1010 ms\\ | |
186 \hline | |
187 \end{tabular} | |
188 \end{center} | |
189 \end{table} | |
190 | |
191 表\ref{table:benchmark}から, 台数効果が出ていることが確認できる. | |
192 | |
193 \section{まとめ} | |
194 本稿では, 既存の Cerium Task Manager の実装と新しい並列実行の機構について説明した. | |
195 新しく実装した並列実行の機構を用いることによって, Mac OS X, Linux 上でのマルチプロセッサ環境に対応できる. | |
0 | 196 |
7
f12135af6731
complete for the time being
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
197 \nocite{yutaka:2010a, cell_abi, cell_cpp, cell_sdk, libspe2, ydl, clay200912, fix200609} |
6 | 198 \bibliographystyle{junsrt} |
7
f12135af6731
complete for the time being
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
6
diff
changeset
|
199 \bibliography{cerium.bib,book.bib} |
0 | 200 |
201 \end{document} |