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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
9dad8afbb71e add jtygm.sty
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
4 \usepackage{jtygm}
0
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
13 % ページ番号を表示しない
4
4f3c7e4293f8 add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
14 \pagestyle{empty}
0
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 % ユーザが定義したマクロなど.
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 \makeatletter
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 \let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 \def\<{\(\langle\)}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 \def\>{\(\rangle\)}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 \def\|{\verb|}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 \def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 \def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 \def\LATEX{\iLATEX\Large}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 \def\LATEx{\iLATEX\normalsize}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 \def\LATex{\iLATEX\small}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 \def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 \def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 \def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 \def\Quote{\list{}{}\item[]}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 \let\endQuote\endlist
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 \def\TT{\if@LaTeX@e\tt\fi}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 \def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 $\backslash$#1\fi}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 %\checklines % 行送りを確認する時に使用
2
8f32e5a9b9ed add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
38
0
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 \begin{document}%{
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 % 所属ラベルの定義
3
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 % 和文概要
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
73 今回新たに Mac OS X, Linux 上での並列実行に対応した.
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
74 % 今回のポスター発表では, 既存の Cerium Task Manager の実装の説明,
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
75 % 新しい並列実行の機構についての説明及び実際に Cerium Task Manager を利用して, 並列実行のデモを行う.
6
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 \end{abstract}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 % 英文概要
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 \end{eabstract}
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 % 表題などの出力
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 \maketitle
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
4
4f3c7e4293f8 add abstract for English
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
90 % ページ番号を表示しない
6
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 % 本文はここから始まる
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95
2
8f32e5a9b9ed add abstract on prosyn.tex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
96 \section{はじめに}
6
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
97 プロセッサメーカは, 消費電力, 発熱及びクロックの限界という観点から,
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
100 マルチコアプロセッサ上で, リソースを有効活用するためには, 並列プログラムを行う必要があるが,
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
109 本論文では, まず既存の Cerium Task Manager の実装について説明する.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
119 Cerium Task Manager によってそれらの Task は管理され, 実行される.
0
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
123 これにより, アーキテクチャに依存しないプログラムを記述することが可能である.
0
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
6
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
125 \subsection{Cerium Task Manager の特長}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
126 Cerium Task Manager では, プログラムの様々なレベルでパイプラインが構成されるので,
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
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
5583c91e0e9f remove nuisance
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
143 Synchronized Queue を用いて Mac OS X, Linux 側の Cerium Task Manager の設計をし直したものである.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
144
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
145 \subsection{Mailbox}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
146 Mailbox は, Cell の機能の1つである.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
147 Mailbox は, PPE と SPE の間を双方向で, 32 bit メッセージの受け渡しが可能であり,
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
148 FIFO キュー構造になっている.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
149
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
150 \begin{figure}[h]
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
151 \begin{center}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
152 \includegraphics[scale=0.4]{./pic/Mailbox.eps}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
153 \end{center}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
154 \caption{Mailbox}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
155 \label{fig:mailbox}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
156 \end{figure}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
157
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
158 \subsection{Synchronized Queue}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
159 Maiilbox に対応させる形で作成した, Linux 上で動作する同期キューである.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
160 キューを操作しているスレッドが常に1つになるよう, バイナリセマフォで管理されている.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
161 各スレッドは, input 用と output 用として Synchronized Queue を2つ持っており,
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
162 管理スレッドからタスクを受けて並列に実行するようになっている.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
163
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
164 \subsection{ベンチマーク}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
165 0からnまでに含まれる素数の探索を行う例題を用いた.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
166 表\ref{table:benchmark}に結果を示す.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
167
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
168 {\bf 実験環境}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
169 \begin{itemize}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
170 \item OS : CentOS 6.0
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
171 \item CPU : Intel(R) Xeon(R) CPU X5650 @2.67GHz (仮想環境で 4 コアのみ使用)
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
172 \item Memory : 8GB
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
173 \end{itemize}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
174
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
175 \begin{table}[h]
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
176 \begin{center}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
177 \caption{ベンチマーク}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
178 \label{table:benchmark}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
179 \begin{tabular}[t]{l||l|l}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
180 \hline
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
181 スレッド数 & $\displaystyle n =10^6$ & $\displaystyle n =10^7 $\\
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
182 \hline\hline
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
183 1 スレッド & 239 ms & 2641 ms\\
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
184 \hline
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
185 4 スレッド & 104 ms & 1010 ms\\
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
186 \hline
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
187 \end{tabular}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
188 \end{center}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
189 \end{table}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
190
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
191 表\ref{table:benchmark}から, 台数効果が出ていることが確認できる.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
192
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
193 \section{まとめ}
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
194 本稿では, 既存の Cerium Task Manager の実装と新しい並列実行の機構について説明した.
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
195 新しく実装した並列実行の機構を用いることによって, Mac OS X, Linux 上でのマルチプロセッサ環境に対応できる.
0
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
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
2522f70375d5 add bibtex
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents: 5
diff changeset
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
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
08708e1a2e64 first commit
Daichi Toma <toma@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 \end{document}