annotate presen/presen1.html @ 23:02067287fac3 draft

add file
author Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
date Sun, 12 Feb 2012 23:01:44 +0900
parents fe88829c8fe3
children 716f0a413687
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>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 <h4>琉球大学理工学研究科情報工学専攻</h4>
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">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 <h1>研究背景と目的(1/2)</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 当研究室では、マルチコアCPU上での開発を支援するたの、並列プログラミングフレームワーク Cerium を開発し、学生実験で使用している。本研究では
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 Cerium の信頼性の向上を目的とし、改良を行った (信頼性 = 仕様通りに動作する)<br>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 マルチコア上の並列プログラミングでは
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 <li>並列処理部分の特定や同期処理を適切に行わなければ、台数効果は得られない。</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 <li>再現性ないバグなどが発生する可能性がある</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 <li>アーキテクチャを理解し最適なプログラムを書く必要がある</li>
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
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 など信頼性のあるプログラムを開発するには逐次プログラミングよりも技術と手間がかかる問題がある<br>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 Cell上でのゲーム作成を行う学生実験でも、講義期間中に作品が一定のレベルに達しない問題が生じた。そこで学生実験での使用を考慮した フレームワーク Cerium を開発した<br>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 <h1>研究背景と目的(2/2)</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 Cerium を用いて 期間中のゲームの作成が可能になった。しかし学生実験での使用や、例題の実装を行い Cerium の信頼性が十分でない点が明らかになった。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 <li>仕様通りの稼働率がでない</li>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
101 <li>アーキテクチャ依存の記述が含まれている</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 </ul><br>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 以上の問題点を解決するため
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 <li>ソフトウェアMailQueueの実装</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 <li>TaskをグルーピングするTaskArrayの実装</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 <li>明示的なDMAロードを隠蔽するMemorySegmentのAPIの実装</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
108 </ul><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 などの改良を行い、信頼性のある並列プログラミングフレームワークを目指す。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
112 <li class="slide">
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
113 <h1>発表構成</h1>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
114 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
115 <li>Cellの機能</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
116 <li>Ceriumの構成</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
117 <li>Ceriumに行った改良とその効果</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
118 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
119 <li>TaskArrayの実装(Mailの待ち時間の削減)</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
120 <li>ソフトウェアMailQueueの実装(Mailの待ち時間の削減)</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
121 <li>MemorySegmentの実装(アーキテクチャ依存記述の隠蔽)</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
122 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
123 <li>まとめ</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
124 <li>今後の課題</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
125 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
126
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 <h1>Cell Broadband Engine</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 研究、実験の題材となった Cell Broadband Engine とは、
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 <li>ソニー、SCE、 IBM、 東芝によって開発されたプロセッサ</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 <li>マルチコアで、9つのコアを持つ</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 <li>制御用コア PorwerPC Processor Element 1基</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 <li>演算用コア Synergistic Processor Element 8基 (実験で使用できるのは6基)</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 <li>各コアは Element Interconnect Bus を経由してデータアクセスを行う</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 <p style="text-align: center;">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 <img class="scale" src="pix/cell.png" alt="" title="At a Glance" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
149 <h1>Cellの機能(DMA転送)</h1>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
150 <font size="6">
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
151 Cell の SPE は直接 MainMemory にアクセスできない。 明示的な DMA 転送命令を用いてデータにアクセスする。転送するデータの条件として
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
152
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
153 <ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
154 <li>16アラインメントに揃える</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
155 <li>16byte の倍数のサイズでなければならない</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
156 <li>一度の転送は16KB の大きさまでできる</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
157 </ul><br>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
158
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
159 プログラムが明示的にDMA命令を発行して、データ転送を行う
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
160 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
163 <h1>Cellの機能(Mailbox)</h1>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
164 <font size="6">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 PPE と SPE の通信には Mailbox を用いる
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 <li>PPE と SPE 間で32ビットメッセージの交換ができる</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 <li>Mail の Queue は3種類</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 <li>SPU inbound Mailbox: PPE -> SPE</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 <li>SPU Outbound Mailbox: SPE -> PPE</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 <li>SPU Outbound interrupt Mailbox: SPE -> PPE (割り込み)</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 </ul>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
176 </ul><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
178
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
179 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 <h1>Cerium</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
182 <font size="6">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 Cerium とは
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
184
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 <li>並列プログラミング用のフレームワーク</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 <li>学生実験での使用を考慮して PS3/Cell, Linux, MacOSX で動作する</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
188 <li>Ceriumの構成</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 <li>TaskManager</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 <li>RenderingEngine</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 <li>SceneGraph</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 </ul>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
195 </font>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 <h1>TaskManager</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 TaskManager とは Task のスケジューラ
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 <li>Task とよばれるデータ構造を提供</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
203 <li>ユーザは処理(単位は関数に近い)を Task で記述していく</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
204 <li>定義されたTask は、Task 情報に沿って各コアに処理を割り振られる</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
205 </ul><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 Task で記述された部分の、自動的な並列処理スケジューリングを行う。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 <h1>RenderingEngine(1/2)</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
211 PS3 では Graphics Engine の仕様が公開されていないので、独自の RenderingEngine を開発した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 Task で記述され、主に3つの Task から構成される
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 <li>CreatePolygonTask</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 <li>モデリングデータを、三角形のポリゴンに変換する</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 <li>CreateSpanTask</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 <li>ポリゴンを水平な線(Span)に分割する</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 <li>DrawSpanTask</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 <li>Span を Texture とマッピングし画面に出力する</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 <h1>RenderingEngine(2/2)</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 例: Cube のモデリングデータの場合には、以下のように Task が働く。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 <p style="text-align: center;">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 <img class="scale" src="pix/rendering3.png" width="50%" alt="" title="At a Glance" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 <h1>SceneGraph</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
239 ゲームのシーンを構成する木構造のグラフ。各 Node がゲームのオブジェクトになる。オブジェクトには Move 関数と collision 関数が設定でき、ステイトパターンで入れ替える。
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
240
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
241 <p style="text-align: center;">
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
242 <img class="scale" src="pix/scenegraph1.png" width="30%" alt="" title="At a Glance" />
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
243 </p>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
244
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
247 <h1>Cerium の改良(Mailの待ち時間)</h1>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 RenderingEngine を用いた例題で、ball bound, panel がある。(FPS = Frame per second)
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 <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
252 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 <th></th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 <th>FPS</th>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
255 <th>DMA転送待ち割合</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
256 <th>mail待ち割合</th>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 <th>SPE稼働率</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 <th>ball bound</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 <th>30.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 <th>1.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 <th>74.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 <th>23.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 <th>panel</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 <th>4.0</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 <th>21.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 <th>11.1%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 <th>67.6%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 <li>panel</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 <li>解像度1980x1080の一枚の画像の描画行う。</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 <li>ball bound</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 <li>球が跳ねる例題。</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
286 ball bound では Mail 待ちが約70%、稼働率23%と十分な稼働率ではない。(panel は ball bound より描画の処理が重く、その分稼働率が高くなっている)<br>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
287 アムダールの法則より稼働率がでないとマルチコアの性能は発揮されない。フレームワークとしての信頼性が十分でない問題がある
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 <h1>Mail 通知のスケジューリング</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
292 稼働率を向上させるために、Mail の待ち時間を削減する。<br><br>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 Cerium では SPE が Mail で 待ち時間が発生するタイミングは2つ
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 <li>TaskList を待つ場合</li>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
297 <li>SPE から Mailbox へ書き込む際の待ち</li>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 <h1>TaskListのMail待ち</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 TaskList は処理する Task の List である。PPE で生成され SPE へ Mail で通知される
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 <p style="text-align: center;">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 <img class="scale" src="pix/tasklistmail1.png" width="80%" alt="" title="At a Glance" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 TaskList が生成され SPE に通知されるまで、SPE に待ち時間が発生する。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 <h1>Mail の書き込み待ち</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
312 Task が終了した際と TaskList が終了した際に SPE が Mailbox へ書き込みを行う(依存関係解決のため)。Outbound Mailbox はサイズが1なので、他のMailが書き込まれている場合、それが PPE側から読み込まれるまで、待つ。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 <p style="text-align: center;">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 <img class="scale" src="pix/mailschedule2.png" width="80%" alt="" title="At a Glance" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 TaskList が生成され SPE に通知されるまで、SPE に待ち時間が発生する。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 <h1>TaskArray(1/3)</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
323 <font size="5">
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
324 Task毎に依存関係の解決のため、Mail を通知する。バリア同期など複数の Task が同じ Task を待つ場合にはグルーピングできる。
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
325 Task のグルーピングを可能にするために TaskArray を実装した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 <p style="text-align: center;">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 <img class="scale" src="pix/taskarray1.png" width="80%" alt="" title="At a Glance" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
331 </font>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
332
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 <h1>TaskArray(2/3)</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 例えば TaskListのサイズが4, TaskArray のサイズが4の場合、Task が8個の場合
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 <p style="text-align: center;">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 <img class="scale" src="pix/taskarray2.png" width="80%" alt="" title="At a Glance" />
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 グルーピングされるため Task 毎の Mail 回数が減る。TaskList の要求回数が減る。そのため Mail の待ち時間が入る箇所が削減され、Mail の待ち時間自体の削減につながる。
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 <h1>TaskArray(3/3)</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 TaskArray の効果を示す
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 <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
349 <caption>ballbound</caption>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 <th>TaskArray</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 <th>DMA転送待ち時間</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 <th>SPE稼働率</th>
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 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 <th> なし </th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 <th>30.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 <th>1.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 <th>74.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 <th>23.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 <th> あり </th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 <th>32.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 <th>2.5%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 <th>66.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 <th>30.8%</th>
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
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 <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
377 <caption>panel</caption>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 <th>TaskArray</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 <th>DMA転送待ち時間</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 <th>SPE稼働率</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 <th>なし</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 <th>4.0</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 <th>21.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 <th>11.1%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390 <th>67.6%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394 <th>あり</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395 <th>4.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 <th>22.5%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 <th>5.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 <th>71.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 TaskArray を ball bound, panel の DrawSpanTask に適応。FPS、稼働率の向上。Mail 待ちの時間が削減された
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 <h1>MailQueue(1/3)</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
408 Task 毎の Mail 書き込み時の待ち時間を削減するため、MailQueue を実装した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410 <ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 <li>SPE から Mailbox に書き出せない場合に MailQueue へと書きだす</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412 <li>MailQueue に Mail がある場合は、MailQueue から Mailbox へ書き出す</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 <li>MailQueue に残っている Mail は TaskList のTask を消化した時点で、すべて書き出す処理を挟む</li>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 </ul>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 <h1>MailQueue(2/3)</h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 Mailbox に書き込めない場合は、MailQueue に書き込む例
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 <p style="text-align: center;">
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
422 <img class="scale" src="pix/mailqueue1.png" width="70%" alt="" title="At a Glance" />
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 </p>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 <h1>MailQueue(3/3)</h1>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
427 <font size="5">
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 MailQeueuの効果
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 <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
431 <caption>ball bound</caption>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 <th>MailQueue</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 <th>DMA転送待ち時間</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437 <th>SPE稼働率</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 <th> なし </th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 <th>32.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 <th>2.5%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
443 <th>66.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 <th>30.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 <th> あり </th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 <th>41.7</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 <th>3.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452 <th>56.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 <th>40.0%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
455
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
456 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
457
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
458 <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
459 <caption>panel</caption>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
460 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 <th>MailQueue</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
462 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
463 <th>DMA転送待ち時間</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
464 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465 <th>SPE稼働率</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
467
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
468 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
469 <th>なし</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
470 <th>4.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
471 <th>22.5%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 <th>5.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
473 <th>71.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
475
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
476 <th>あり</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
477 <th>4.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478 <th>23.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
479 <th>4.1%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
480 <th>72.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
481 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
482
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
483 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
484 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
485
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
486 ball bound , panel ともに Mail 待ち時間が削減され、稼働率、FPS の向上につながった。
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
487
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
488
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
489 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
490 <h1>Ceriumの改良(アーキテクチャ依存記述の隠蔽)</h1>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
491 RenderingEngine の Task内 では明示的にDMA転送命令を記述している。
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
492
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
493 <ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
494 <li>処理するデータ構造上の理由、Task内でのデータロードが必要</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
495 <li>DMA転送命令は Cell アーキテクチャ依存の記述</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
496 <li>他のアーキテクチャなどでは不要</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
497 </ul><br>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
498
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
499 フレームワークとしての汎用性に欠ける。
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
500 アーキテクチャ依存の記述を隠蔽できるAPIが必要になった。
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
501
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
502 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
503 <h1>MemorySegment(1/6)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
504 明示的なDMA転送命令を隠蔽するため MemorySegment を実装した
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
505 MemorySegemnt はデータ構造。LS 内のデータを管理する。
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
506 <ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
507 <li>一定のメモリを確保し、ハッシュで管理(LRU方式)</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
508 <li>API 内部で自動的なキャッシュを行う (サイズは任意に設定できる)</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
509 <li>dma 命令を MemorySegment というデータ構造を操作する命令に置き換える</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
510 <ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
511 <li>dma_load -> get_segment</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
512 <li>dma_store -> put_segment</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
513 <li>dma_wait -> wait_segment</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
514 </ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
515 </ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
516
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
517 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
518 <h1>MemorySegment(2/6)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
519
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
520 <p style="text-align: center;">
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
521 <img class="scale" src="pix/getsegment1.png" width="50%" alt="" title="At a Glance" />
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
522 </p>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
523
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
524
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
525 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
526 <h1>MemorySegment(3/6)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
527
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
528 <p style="text-align: center;">
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
529 <img class="scale" src="pix/putsegment1.png" width="50%" alt="" title="At a Glance" />
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
530 </p>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
531
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
532
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
533 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
534 <h1>MemorySegment(4/6)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
535 明示的に記述したDMA転送命令の例
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
536 <pre>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
537 loop() {
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
538
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
539 tmp_data = get_data;
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
540 get_data = send_data;
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
541 send_data = tmp_data;
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
542
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
543 dma_wait(WAIT_STORE);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
544
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
545 dma_store(send_data, send_addr, data_size, WAIT_STORE);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
546 dma_load(get_data, get_addr, data_size, WAIT_LOAD);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
547
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
548 dma_wait(WAIT_LOAD);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
549
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
550 calc(get_data);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
551
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
552 }
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
553 </pre>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
554
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
555 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
556 <h1>MemorySegment(5/6)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
557 MemorySegment を適応させた例
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
558 <pre>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
559 loop() {
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
560
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
561 wait_segment(put_ms);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
562
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
563 put_ms = get_ms;
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
564
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
565 put_segment(put_ms);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
566 get_ms = get_segment(get_addr, ml);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
567
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
568 wait_segment(get_ms);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
569 get_data = get_ms->data;
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
570
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
571 calc(get_data);
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
572 }
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
573 </pre>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
574
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
575 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
576 <h1>MemorySegment(6/6)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
577 MemorySemgment を導入
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
578
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
579 <ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
580 <li>アーキテクチャ依存の記述を隠蔽することに成功した</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
581 <li>汎用的な Task 内でのデータ転送APIとして使用でき</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
582 <li>Core i7, Xeon などの汎用のメニーコアにも対応可能</li>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
583 </ul>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
584
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
585 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
586 <h1>まとめ(1/2)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
587 並列プログラミングフレームワーク Cerium の改良を行った。
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
588
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
589 <ul>
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
590 <li>MailQeueu, TaskArry を実装、導入した。その結果 Mail の待ち時間の削減、稼働率と FPS の向上に成功した</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
591 <li>MemorySegment を実装し、汎用的なデータ転送APIが利用できるようになった。Cell アーキテクチャ依存の記述の隠蔽に成功</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
592 </ul><br>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
593
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
594 以上の改良を行い、稼働率の向上、アーキテクチャ依存のコードの排除に成功し、フレームワークとしての信頼性が向上した。
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
595
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
596 <li class="slide">
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
597 <h1>まとめ(2/2)</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
598
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
599 改良の効果を示す
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
600
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
601 <font size="5">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
602 <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
603 <caption>ball bound</caption>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
604 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
605 <th></th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
606 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 <th>DMA転送待ち時間</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
608 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 <th>SPE稼働率</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
610 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
611 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
612 <th>改良前</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
613 <th>30.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
614 <th>1.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
615 <th>74.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
616 <th>23.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
617 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
618 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
619
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
620 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 <th>改良後</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
622 <th>41.7</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 <th>3.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
624 <th>56.8%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
625 <th>40.0%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
626 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
627 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
628
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
629 <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
630 <caption>panel</caption>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
631 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
632 <th></th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
633 <th>FPS</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
634 <th>DMA転送待ち時間</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
635 <th>mail待ちの割合</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
636 <th>SPE稼働率</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
637 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
638
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
639 <tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
640 <th>改良前</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
641 <th>4.0</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
642 <th>21.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
643 <th>11.1%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
644 <th>67.6%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
645 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
646
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
647 <th>改良後</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
648 <th>4.2</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
649 <th>23.7%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
650 <th>4.1%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
651 <th>72.3%</th>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
652 </tr>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
653
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
654 </table>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
655 </font>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
656
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
657 <li class="slide">
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
658 <h1>OpenGL との比較</h1>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
659 学生実験で作成された シューティングゲーム「SuperDandy」 を例題に OpenGL と比較。OpenGL は PPE 1基のみを使用。Cerium は
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
660 SPE6基+PPE1基を使用した。
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
661
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
662 <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
663 <caption>シューティングゲーム</caption>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
664 <tr>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
665 <th></th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
666 <th>OpenGL</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
667 <th>Cerium</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
668 <th>性能差</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
669 </tr>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
670
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
671 <tr>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
672 <th>SuperDandy</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
673 <th>17.5 FPS</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
674 <th>49.5 FPS</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
675 <th>2.9 倍</th>
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
676 </tr>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
677
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
678 </table>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
679
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
680
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
681 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
682 <h1>今後の課題</h1>
22
fe88829c8fe3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
683
23
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
684 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
685 <li>SceneGraph 部分の Task 化</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
686 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
687 <li>Task 化によって並列化率の向上</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
688 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
689 <li>自動的な依存関係の解決</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
690 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
691 <li>扱うデータから Task の依存関係がわかる</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
692 <li>ユーザが複雑な依存関係を設定しない</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
693 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
694 <li>プログラムとデータの On demand Load</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
695 <ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
696 <li>プログラムコードはすべて LS に置いている</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
697 <li>LS の容量を圧迫しプログラムが動作しなくなる</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
698 <li>すべてのデータを扱う包括的なデータ構造が必要</li>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
699 </ul>
02067287fac3 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
700 </ul>
20
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
701
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
702 <li class="slide">
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
703 <h1></h1>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
704
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
705 /*end*/
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
706
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
707 </ol>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
708
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
709 </body>
e5e563dc8270 add file
Yutaka_Kinjyo <yutaka@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
710 </html>