annotate presen/presen1.html @ 34:472f45ab9fca draft default tip

fix
author Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
date Thu, 16 Feb 2012 23:46:16 +0900
parents fa8b52588f67
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 <html xmlns="http://www.w3.org/1999/xhtml">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 <head>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 <title>S5: An Introduction</title>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 <!-- metadata -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 <meta name="generator" content="S5" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 <meta name="version" content="S5 1.3" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 <meta name="author" content="Eric A. Meyer" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 <meta name="company" content="Complex Spiral Consulting" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 <!-- meta extensions -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 <meta name="subject" content="S5 1.3beta7" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 <meta name="creator" content="Christian Effenberger" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 <meta name="contributor" content="youcan[64]netzgesta[46]de" /> <meta name="publisher" content="s5.netzgesta.de" /> <meta name="description" content="S5 1.3 is a very flexible and lightweight slide show system available for anyone to use (including transitions and scalable fonts and images)" /> <meta name="keywords" content="S5, slide show, projection-mode, powerpoint-like, scala-like, keynote-like, incremental display, scalable fonts, scalable images, transitions, notes, osf, xoxo, css, javascript, xhtml, public domain" /> <meta name="robots" content="index, follow" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 <meta name="revisit-after" content="7 days" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 <!-- meta temporary -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 <meta http-equiv="Content-Script-Type" content="text/javascript" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 <meta http-equiv="Content-Style-Type" content="text/css" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 <!-- configuration parameters -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 <meta name="defaultView" content="slideshow" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 <meta name="controlVis" content="hidden" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 <!-- configuration extensions -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 <meta name="tranSitions" content="true" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 <meta name="fadeDuration" content="500" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 <meta name="incrDuration" content="250" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 <!-- configuration autoplay extension -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 <meta name="autoMatic" content="false" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 <meta name="playLoop" content="true" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 <meta name="playDelay" content="10000" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 <!-- configuration audio extension -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 <meta name="audioSupport" content="false" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 <meta name="audioVolume" content="100" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 <meta name="audioError" content="false" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 <!-- configuration audio debug -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 <meta name="audioDebug" content="false" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 <!-- style sheet links -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 <link rel="stylesheet" href="ui/default_utf/slides.css" type="text/css" media="projection" id="slideProj" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 <link rel="stylesheet" href="ui/default_utf/outline.css" type="text/css" media="screen" id="outlineStyle" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 <link rel="stylesheet" href="ui/default_utf/print.css" type="text/css" media="print" id="slidePrint" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 <link rel="stylesheet" href="ui/default_utf/opera.css" type="text/css" media="projection" id="operaFix" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 <!-- embedded styles -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 <style type="text/css" media="all">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 .imgcon {width: 100%; margin: 0 auto; padding: 0; text-align: center;}
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 #anim {width: 33%; height: 320px; position: relative;}
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 #anim img {position: absolute; top: 0px; left: 0px;}
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 </style>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 <!-- S5 JS -->
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 <script src="ui/default_utf/slides.js" type="text/javascript"></script>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 </head>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 <body>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 <div class="layout">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 <div id="controls"><!-- DO NOT EDIT --></div>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 <div id="currentSlide"><!-- DO NOT EDIT --></div>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 <div id="header"></div>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 <div id="footer">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 <h1></h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 <h2></h2>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 </div>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 </div>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 <ol class="xoxo presentation">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 <h1>並列プログラミングフレームワーク Cerium の改良</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 <h3>金城 裕</h3>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
73 <h4>並列信頼研究室</h4>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 <div class="handout"></div>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 </li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 <li class="slide">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
78 <h1>研究概要</h1>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 <font size="5">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
80 <u>本研究では並列プログラムフレームワーク Cerium の改良を行い、並列処理の並列度向上とCell以外のマルチコアCPUへの対応に成功した。</u><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
82 <img src="pix/amdahl1.png" style="display:block; width:50%; float: right; margin-top:0%">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
83
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
85 <li>アムダールの法則より、プログラム全体の並列化率が低ければマルチコアの性能を活かすことができない</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
86 <li>現在の Cerium を用いたプログラムの開発では、高い並列度が保証されない</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
87 <li>Cerium はPS3/Cell での並列処理を行えるが、当初はCell向けに作られた為、他の汎用マルチコアCPU に対応していない</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 </ul><br>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
90 Cerium の他CPUへの対応と、自明な並列度があるレンダリングとゲーム処理を例題に、高い並列度の維持を目的とする
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
95 <li class="slide">
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
96 <h1>発表構成</h1>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
97 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
98 <li>Cellの機能</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
99 <li>Ceriumの構成</li>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
100 <li>コアの待ち時間の削減</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
101 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
102 <li>TaskArray での改良と効果</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
103 <li>MailQueue での改良と効果</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
104 </ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
105 <li>他のアーキテクチャへの対応</li>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
106 <ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
107 <li>MemorySegmentの導入</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
108 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
109 <li>まとめ</li>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
110 <li>OpenGLとの比較</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
111 <li>今後の課題</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
112 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
113
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 <h1>Cell Broadband Engine</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 研究、実験の題材となった Cell Broadband Engine とは、
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
119
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
120 <img src="pix/cell.png" style="display:block; width:50%; float: right; margin-top:0%">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
121
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
123 <li>1基のPPEと8基のSPEがリングバス(EIB)で構成されている。動作クロックは3.2GHz(実験で使えるSPEの数は6基)</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
124 <li>リングバスのデータ帯域幅は1サイクルあたり最大96byte(3.2GHz駆動時には307.2GB/sec)</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
125 <li>SPEは256KBのLocalStore(LS)を持つ</li>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
126 <li>PPEとSPEはMFC(Memory Flow Controller)を持つ</li>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
127 <li>SPEからメインメモリへは直接アクセスできない</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 <ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
129 <li>SPEが持つMFCへDMA命令を送り、データの転送を行う</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 <li class="slide">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
136 <h1>Cellの機能</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
137 <font size="6">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
138
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
139 <u>Mailbox</u>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
140
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
141 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
142 <li>SPEのMFC内にあるFIFOキュー</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 <li>PPE と SPE 間で32ビットメッセージの交換ができる</li>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
144 <li>Mail の Queue の種類</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
146 <li>SPU inbound Mailbox: PPE -> SPE (キューのサイズは4)</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
147 <li>SPU Outbound Mailbox: SPE -> PPE (キューのサイズは1)</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 </ul>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
149 </ul><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
151 Outbound Mailbox へ Mail を書き込む際、キューがいっぱいの時は、PPE 側から読み込まれるまで待つ。
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
152
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
153 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 <h1>Cerium</h1>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
156 <font size="5">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
157 Cerium の構成
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
158
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
159 <img src="pix/cerium.png" style="display:block; width:50%; float: right; margin-top:0%">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
160
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
162 <li>TaskManager</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
163 <ul>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
164 <li><font size="5">ユーザが定義したTaskを管理し、各コアに割り当てる</font></li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
165 </ul>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
166
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
167 <li>RenderingEngine</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
168 <ul>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
169 <li><font size="5">オブジェクトを画面に描画する</font></li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
170 <li><font size="5">3種類のTaskから構成される</font></li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
171 </ul>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
172
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
173 <li>SceneGraph</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
175 <li><font size="5">ゲームのシーンを作成し、それを切り替えながらゲームを進行する</font></li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
176 <li><font size="5">OpenSceneGraphのようなもの</font></li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 </ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
178
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
179 </ul><br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
180
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
181 </font>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
182
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
183 <li class="slide">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
184 <h1>TaskManager</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
185 <font size="5">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
186 TaskManager は、Taskと呼ばれる分割された各プログラムを管理する。Task の単位
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
187 はサブルーチンである。Task 同士の依存関係を考慮しながら実行していく。</p>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
188 <p>Task を生成する際に、以下のような要素が設定可能である</p>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
189
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
190 <ul>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
191 <li><b>input data, output data, parameter</b><br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
192  これらは関数でいうところの引数に価する</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
193 <li><b>cpu type</b><br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
194  Task を PPE または SPE のどちらで実行するのかを示している</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
195 <li><b>dependency</b></li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
196  他の Task との依存関係を示している
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
197 </li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 </ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
199
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
200 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 <h1>TaskManager</h1>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
204 <font size="5">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
205
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
207 <li>生成された Task は TaskList としてまとめられ SPE で実行される</li>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
208 <li>SPE 側では受け取った TaskList から Task を抜き出し、パイプライン的に実行していく</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
209 </ul><br>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
210
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
211
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
212 <img src="pix/scheduler1.png" style="display:block; width:50%; float: center; margin-top:0%">
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
213
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
215 </font>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
216
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 <li class="slide">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
219 <h1>Mailのやり取り</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
220 <font size="6">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
222 <li>SPE と PPE 間の同期は Mail のやり取りを行う</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
223 <br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
224 <li>Mailのタイミング</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
225 <br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
226 <font color="red">SPE -> PPE</font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
228 <li>タスクの終了(Taskの依存関係の解決のため)</li>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
229 <li>新しい TaskList のリクエスト</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 </ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
231 <br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
232 <font color="red">PPE -> SPE</font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 <ul>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
234 <li>新しい TaskList の送信</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 <li class="slide">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
241 <h1>PPEとSPEで行われるパイプライン処理</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
242 <font size="5">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
243 PPEとSPE 間で Mail を介して Task の実行をパイプライン化している。
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
244 PPE が SPE側 から送られてくる Mail の受け取りは PPE 側からポーリングして確認しており、PPE のMain ループで定期的に チェックしている。<br>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
245 <u>パイプラインがうまく動作する例</u>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
246 <img src="pix/mailsched1.png" style="display:block; width:60%; float: center; margin-top:0%">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
248 当初はこれでうまくパイプラインが実行されていると思われていたが、うまくいかないパターンが存在することが明らかになった。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
251 </font>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
252
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 <li class="slide">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
254 <h1>PPEとSPEで行われるパイプライン処理</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
255 <font size="5">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
256 PPE 側で実行される Task の処理が長い場合に、Mail チェックの頻度が少なくなる。
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
257 Outbound Mailbox がひとつの Mail で占有される時間が長くなり、SPE 側の終了した Task の終了Mail が書き出せなくなる。
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
258 そのため、書き込み待ちが発生し、SPE に待ち時間が発生する。<br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
259 <u>パイプラインが崩れてしまう例</u>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
260 <img src="pix/mailsched2.png" style="display:block; width:57%; float: center; margin-top:0%">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
262 これが並列度の低下を招いている。
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
263 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 <li class="slide">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
267 <h1>PPEとSPEで行われるパイプライン処理</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
268 <font size="5">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
269 そこで、その問題を解決するため、一つ目のアプローチとして Outbound Mailbox と Task の終了処理の間に ソフトウェア MailQueue を導入した。
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
270 Outbound Mailbox がいっぱいの場合その Queue に Task 終了 Mail を挿入し、次の Task が実行されるようになった<br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
271
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
272 <u>MailQueueを導入によりパイプラインが正常に動作している例</u>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
273 <img src="pix/mailsched3.png" style="display:block; width:55%; float: center; margin-top:0%">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
274
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
275 そのため、SPE の待ち時間の削減に成功した<br>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
276 </font>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
277
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
278 <li class="slide">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
279 <h1>PPEとSPEで行われるパイプライン処理</h1>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 <font size="5">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
281 二つ目のアプローチとして、複数の Task を TaskArray としてグルーピングする方法をとった。
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
282 依存関係が線形である Task は TaskArray としてまとめることにより、Task 終了のメール自体を減らすことが出来る。
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
283
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
284 <img src="pix/taskarray2.png" style="display:block; width:60%; float: center; margin-top:0%">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
285
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
286 これによっても、待ち時間の削減に成功した
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
287 </font>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
288
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
289 <li class="slide">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
290 <h1>改良効果の測定</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
291 RenderingEngine を用いて、効果を計測した。レンダリングの例題として、ball bound と panelを用いた。<br>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
292 ball bound は赤いボールが跳ねる例題である。描画領域が画面の中でボールの部分だけであり、描画領域が狭い。<br>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
293 panel は画面一面に画像を描画する例題である。描画領域が最大である。<br>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
294 <img src="pix/ball_bound1.png" style="display:block; width:30%; float: left; margin-top:0%">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
295 <img src="pix/panel1.png" style="display:block; width:30%; float: right; margin:5% 20% 0% 20%">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
296
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
297 </font>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
298
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
299 <li class="slide">
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
300 <h1>改良効果の測定</h1>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
301 <font size="5">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 <table border="1" cellspacing="0" cellspacing="2" cellpadding="5" align="center">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 <caption>ballbound</caption>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
305
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 <tr>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
307 <th>改良項目</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 <th>SPE稼働率</th>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
311 <th>SPE稼働率の差分</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 </tr>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
313
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 <tr>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
315 <th>改良なし</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 <th>30.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 <th>74.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 <th>23.7%</th>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
319 <th>-</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 <tr>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
323 <th>TaskArray適用後</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 <th>32.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 <th>66.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 <th>30.8%</th>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
327 <th><font color="red">+7.1%</font></th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
330 <tr>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
331 <th>MailQueue適用後</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
332 <th>41.7</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
333 <th>56.8%</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
334 <th>40.0%</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
335 <th><font color="red">+10.8%</font></th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
336 </tr>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
337
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 <table border="1" cellspacing="0" cellspacing="2" cellpadding="5" align="center">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 <caption>panel</caption>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
342
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 <tr>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
344 <th>改良項目</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 <th>SPE稼働率</th>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
348 <th>SPE稼働率の差分</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
351 <th>改良なし</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 <th>4.0</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 <th>11.1%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 <th>67.6%</th>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
355 <th>-</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 <tr>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
359 <th>TaskArray適用後</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 <th>4.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 <th>5.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 <th>71.8%</th>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
363 <th><font color="red">+4.2%</font></th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
364 </tr>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
365
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
366 <tr>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
367 <th>MailQueue適用後</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
368 <th>4.2</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
369 <th>4.1%</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
370 <th>72.3%</th>
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
371 <th><font color="red">+0.5%</font></th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
375 改良を加え 各例題 の<u>FPS、稼働率の向上。Mail 待ちの時間が削減され、並列度が向上したといえる</u>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 <li class="slide">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
380 <h1>アーキテクチャ依存記述の隠蔽</h1>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
381
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
382 <font size="5">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
384 Cerium では Task内部でのデータ転送を行うときは、DMA転送を行ってた。Core i7 や Xeon のような SharedMemory に対応するために
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
385 DMA転送は不要である<br>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
386 そこで、Task内部でのデータ転送を抽象化する MemorySegment を実装した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
388 <ul>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
389 <li>MemorySegment はデータ構造である</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
390 <li>MainMemory と SPE LS をマッピングする</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
391 <li>LS 内に一定のメモリを確保し、キャッシュ機能を持つ</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
392 <li>キャッシュはLRU方式で管理する</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
393 </ul><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
395 このMemorySegmentのAPIには MainMemory のアドレスが用いられており、Cell 以外のアーキテクチャでも問題なく動作する。<br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
397 </font>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
398
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 <li class="slide">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
400 <h1>MemorySegmentのgetの様子</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
401
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
402 MemorySegment の API として、get_segmentがある。指定された MainMemory のアドレスから SPE LS へのデータロードが可能である。
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
403
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
404 <p style="text-align: center;">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
405 <img class="scale" src="pix/getsegment1.png" width="70%" alt="" title="At a Glance" />
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
406 </p>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
407
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
408 <li class="slide">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
409 <h1>MemorySegment</h1>
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
410 MemorySegment を導入し、
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
411
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
412 <ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
413 <li>アーキテクチャ依存の記述を隠蔽することに成功した</li>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
414 <li>Cellのような分散メモリ環境と、Intel Xeon のような共有メモリ環境に Cerium はどちらの環境でも動作可能になった</li>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
415 </ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
416
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
417 <li class="slide">
24
716f0a413687 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 23
diff changeset
418 <h1>まとめ</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
419 並列プログラミングフレームワーク Cerium の改良を行った。
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
420
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
421 <ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
422 <li>MailQeueu, TaskArrey を実装、導入</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
423 <li>MemorySegmentの適応</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
424 </ul><br>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
425
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
426 以上の改良を行い、約18%稼働率の向上、とShardMemoryマルチコアCPUへの対応にも成功した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 <li class="slide">
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
429 <h1>OpenGL との比較</h1>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
430 学生実験で作成された シューティングゲーム「SuperDandy」 を例題に OpenGL と比較。OpenGL は PPE 1基のみを使用。Cerium は
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
431 SPE6基+PPE1基を使用した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
433 <table border="1" cellspacing="0" cellspacing="2" cellpadding="5" align="center">
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
434 <caption>シューティングゲーム</caption>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
435 <tr>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
436 <th></th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
437 <th>OpenGL</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
438 <th>Cerium</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
439 <th>性能差</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
440 </tr>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
442 <tr>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
443 <th>SuperDandy</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
444 <th>17.5 FPS</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
445 <th>49.5 FPS</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
446 <th>2.9 倍</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
447 </tr>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
449 </table>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 <li class="slide">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
452 <h1>今後の方針</h1>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
453 <font size="5">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
454 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
455 <li>自動的な依存関係の解決</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
456 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
457 <li>扱うデータから Task の依存関係がわかる</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
458 <li>ユーザが複雑な依存関係を設定しない</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
459 </ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
460 <li>DataSegmentの設計</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
461 <ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
462 <li>MemorySegmentでは、Task 内でのデータロードを抽象化した</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
463 <li>Task内でのデータロードだけでなく、すべてのデータや扱うプログラムなどを管理する包括的なデータ構造が必要になる</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
464 </ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
465 <li>そのDataSegment の設計は分散ネットワーク環境にも適応でき、それについては次の赤嶺が発表する</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
466 <li>また現在 CeriumはIntel Xeon上に移行され、並列動作する。その結果は當間が卒業研究として発表する</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
467 <li>彼らの発表にも乞うご期待!</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
468 </ul>
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
469 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
470
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
471 <li class="slide">
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
472 <h1>発表文献</h1>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
473 <font size="5">
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
474 <ul>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
475 <li>金城裕,河野真治,多賀野海人,小林佑亮. ゲームフレームワーク Cerium TaskMan- ager の改良, 情報処理学会システムソフトウェアとオペレーティング・システム研 究会 (OS), April, 2011</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
476 <li>金城 裕 , 河野 真治. Fine grain Task Manager Cerium のチューニング, 日本ソフト ウェア科学会第 27 回大会論文集, Sep, 2010</li>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
477 </ul>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478
25
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
479 </ol>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
480 </font>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
481
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
482 </body>
fa8b52588f67 add poster
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 24
diff changeset
483 </html>