29
|
1 <!DOCTYPE html>
|
|
2 <html>
|
|
3 <head>
|
|
4 <meta charset='utf-8'>
|
|
5 <title>分散フレームワーク AliceのMeta Computationによる応用</title>
|
|
6
|
|
7 <!--
|
|
8 Notes on CSS media types used:
|
|
9
|
|
10 1) projection -> slideshow mode (display one slide at-a-time; hide all others)
|
|
11 2) screen -> outline mode (display all slides-at-once on screen)
|
|
12 3) print -> print (and print preview)
|
|
13
|
|
14 Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key
|
|
15
|
|
16 Questions, comments?
|
|
17 - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow
|
|
18 -->
|
|
19
|
|
20 <!-- style sheet links -->
|
|
21 <link rel="stylesheet/less" href="themes/blank/projection.css.less" media="screen,projection">
|
|
22 <link rel="stylesheet/less" href="themes/blank/screen.css.less" media="screen">
|
|
23 <link rel="stylesheet/less" href="themes/blank/print.css.less" media="print">
|
|
24
|
|
25 <link rel="stylesheet/less" href="blank.css.less" media="screen,projection">
|
|
26
|
|
27 <!-- Notes about less css support
|
|
28 - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script)
|
|
29 - find more info about less.js online @ http://lesscss.org
|
|
30
|
|
31 ***** NOTE:
|
|
32 less.js browser script currently won’t work if you’re using Google Chrome
|
|
33 and the path to your page starts with "file:///" due to a known Chrome issue.
|
|
34 (In the developer/js console you will see:
|
|
35 XMLHttpRequest cannot load file:///../s6/shared/projection.css.less.
|
|
36 Cross origin requests are only supported for HTTP.)
|
|
37 -->
|
|
38
|
|
39 <!-- add js libs (less, jquery) -->
|
|
40 <script src="js/less-1.1.4.min.js"></script>
|
|
41 <script src="js/jquery-1.7.min.js"></script>
|
|
42
|
|
43 <!-- S6 JS -->
|
|
44 <script src="js/jquery.slideshow.js"></script>
|
|
45 <script src="js/jquery.slideshow.counter.js"></script>
|
|
46 <script src="js/jquery.slideshow.controls.js"></script>
|
|
47 <script src="js/jquery.slideshow.footer.js"></script>
|
|
48 <script src="js/jquery.slideshow.autoplay.js"></script>
|
|
49 <script>
|
|
50 $(document).ready( function() {
|
|
51 Slideshow.init();
|
|
52
|
|
53 // Example 2: Start Off in Outline Mode
|
|
54 // Slideshow.init( { mode: 'outline' } );
|
|
55
|
|
56 // Example 3: Use Custom Transition
|
|
57 // Slideshow.transition = transitionScrollUp;
|
|
58 // Slideshow.init();
|
|
59
|
|
60 // Example 4: Start Off in Autoplay Mode with Custom Transition
|
|
61 // Slideshow.transition = transitionScrollUp;
|
|
62 // Slideshow.init( { mode: 'autoplay' } );
|
|
63 } );
|
|
64 </script>
|
|
65
|
|
66 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
|
|
67 <!--[if IE]>
|
|
68 <script src="js/jquery.microsoft.js"></script>
|
|
69 <![endif]-->
|
|
70
|
|
71 </head>
|
|
72 <body>
|
|
73
|
|
74 <div class="layout">
|
|
75 <div id="header"></div>
|
|
76 <div id="footer">
|
|
77 <h1>分散フレームワークAlice上のMeta Computationとその応用</h1>
|
|
78 <h2>琉球大学大学院 情報工学専攻 修士2年次 杉本優</h2>
|
|
79 </div>
|
|
80 </div>
|
|
81
|
|
82 <div class="presentation">
|
|
83
|
|
84 <!-- add slides here; example -->
|
|
85
|
|
86 <div class='slide cover'>
|
|
87 <h1>分散フレームワークAlice上のMeta Computationとその応用</h1>
|
|
88 <ul>
|
|
89 <p>琉球大学 杉本優
|
|
90 <br>
|
|
91 Feb 6, 2013
|
|
92 </p>
|
|
93 </ul>
|
|
94 </div>
|
|
95
|
|
96 <div class='slide'>
|
|
97 <h1>概要</h1>
|
|
98 <p>Aliceに動的トポロジーを管理する機能とMeta Computationを追加した。</p>
|
|
99 <p>画面共有システムTreeVNCをAliceを用いて実装することでAliceに実用的なアプリケーションを記述する能力を確認した。</p>
|
|
100 <br/>
|
|
101 </div>
|
|
102
|
|
103 <div class='slide'>
|
|
104 <h1>研究の背景と目的</h1>
|
|
105 <p>分散プログラムには信頼性とスケーラビリティが必要である。</p>
|
|
106 <p>その両方を兼ね備えたアプリケーションの作成は容易ではない。</p>
|
|
107 <p>マシンがメニコア化しているため分散プログラムにも並列性が求められる。</p>
|
|
108 <p>これら全てを兼ね備えた分散プログラムの記述をサポートするフレームワークがAliceである。</p>
|
|
109 </div>
|
|
110
|
|
111 <div class='slide'>
|
|
112 <h1>Aliceの計算モデル</h1>
|
|
113 <p>AliceはデータをData Segment、タスクをCode Segmentという単位に分割してプログラミングを行う。</p>
|
|
114 </div>
|
|
115
|
|
116 <div class='slide'>
|
|
117 <h1>実用的なアプリケーションに必要な機能</h1>
|
|
118 <p>Aliceの基本機能でアプリケーションを記述できることは確認された。</p>
|
|
119
|
|
120 <p>一方で実用的なアプリケーションには</p>
|
|
121 <ul>
|
|
122 <li>動的なトポロジーへの対応</li>
|
|
123 <li>応答速度</li>
|
|
124 </ul>
|
|
125 <p>というものが求められる。</p>
|
|
126
|
|
127 <p>実際のアプリケーションではノードの切断や接続が不定期に起こる。</p>
|
|
128
|
|
129
|
|
130 </div>
|
|
131
|
|
132 <div class='slide'>
|
|
133 <h1>Meta Computation</h1>
|
|
134 <p>Meta ComputationはComputationを支えるComputationである。</p>
|
|
135 <p>AliceのComputationはkeyによりData Segmentを待ち合わせてCode Segmentを実行することである。<p>
|
|
136 <p>Data Segmentの待ち合わせを行う、Code Segmentを実行をするためにはAlice自身が必要である。<p>
|
|
137 <p>従って、AliceのMeta ComputationはAliceと言える。<p>
|
|
138
|
|
139 </div>
|
|
140
|
|
141 <div class='slide'>
|
|
142 <h1>Meta Computationの実装</h1>
|
|
143 <p> 今回新しく実装したMeta Computationは</p>
|
|
144 <ul>
|
|
145 <li>Topologyを再構成する機構</li>
|
|
146 <li>切断時の処理を変更する機能</li>
|
|
147 <li>再接続の処理を変更する機能</li>
|
|
148 <li>keepAliveの機能</li>
|
|
149 </ul>
|
|
150 </div>
|
|
151
|
|
152 <div class='slide'>
|
|
153 <h1>RingTopologyによる評価</h1>
|
|
154 <p>改善効果をRingTopologyの例題により計測した。</p>
|
|
155 <Div Align="center">
|
|
156 <table border="1">
|
|
157 <tr>
|
|
158 <td><object type="image/svg+xml" data="images/topologyring.svg" width="500"></td>
|
|
159 </tr>
|
|
160 </table>
|
|
161 </Div>
|
|
162 <p>リングトポロジーを構成し、Messageが100周する時間を計り、1周あたりの平均時間を求めた。</p>
|
|
163 <p>先行研究であるFederated Lindaも比較した。</p>
|
|
164 </div>
|
|
165
|
|
166 <div class='slide'>
|
|
167 <h1>RingTopologyの測定結果</h1>
|
|
168 <p>赤の実線が改善後のAlice、青の破線が改善前のAliceそして緑の点線がFedLindaである。</p>
|
|
169 <Div Align="center">
|
|
170 <table border="1">
|
|
171 <tr>
|
|
172 <td><object type="image/svg+xml" data="images/compare_100KB.svg" width="800"></td>
|
|
173 </tr>
|
|
174 </table>
|
|
175 </Div>
|
|
176 <p>改善後は改善前と比べ12%性能が向上した。Federated Lindaと同等の性能を持つ</p>
|
|
177 </div>
|
|
178
|
|
179 <div class='slide'>
|
|
180 <h1>bitonic sortによる評価</h1>
|
|
181 <p>改善効果をbitonic sortの例題により計測した。分割数は4つで行った。</p>
|
|
182 <Div Align="center">
|
|
183 <table border="2">
|
|
184 <tr>
|
|
185 <td></td><td>改善前</td><td>改善後</td>
|
|
186 </tr>
|
|
187 <tr>
|
|
188 <td>実行時間(ms)</td><td>164.8</td><td>112.1</td>
|
|
189 </tr>
|
|
190 </table>
|
|
191 </Div>
|
|
192 <p>改善後は改善前と比べ32%性能が向上した。</p>
|
|
193
|
|
194 </div>
|
|
195
|
|
196 <div class='slide'>
|
|
197 <h1>TreeVNCとAliceVNCとの比較</h1>
|
|
198 <p>共有画面システムであるTreeVNCとTreeVNCAlice上で実装したAliceVNCをコードの量から比較した</p>
|
|
199 <Div Align="center">
|
|
200 <table border="3">
|
|
201 <tr>
|
|
202 <td></td><td>行数</td><td>単語数</td>
|
|
203 </tr>
|
|
204 <tr>
|
|
205 <td>TreeVNC</td><td>5049</td><td>14191</td>
|
|
206 </tr>
|
|
207 <tr>
|
|
208 <td>AliceVNC</td><td><Div Align="right">989</Div></td><td><Div Align="right">2355</Div></td>
|
|
209 </tr>
|
|
210 </table>
|
|
211 </Div>
|
|
212 <p>Aliceを使うことで記述するソースコードを80%減らすことができる</p>
|
|
213
|
|
214 </div>
|
|
215
|
|
216 <div class='slide'>
|
|
217 <h1>実験の考察</h1>
|
|
218 </div>
|
|
219
|
|
220
|
|
221
|
|
222
|
|
223 <div class='slide'>
|
|
224 <h1>結論</h1>
|
|
225 <p>本研究ではAliceに動的なトポロジーの対応機能とMeta Computationの追加を行った。</p>
|
|
226 <p>その結果、画面共有システムであるTreeVNCをAlice上で実装することができた。</p>
|
|
227
|
|
228 <p>Aliceの性能改善を行った結果、リングの実験では12%、sortの例題では32%性能を改善できた。</p>
|
|
229
|
|
230 <p>Aliceに実用的なアプリケーションを記述する能力があることを確認できた。</p>
|
|
231 </div>
|
|
232
|
|
233 <div class='slide'>
|
|
234 <h1>今後の課題</h1>
|
|
235 </div>
|
|
236
|
|
237 <div class='slide'>
|
|
238 <h1>
|
|
239
|
|
240 </h1>
|
|
241
|
|
242 </div>
|
|
243
|
|
244
|
|
245 <div class='slide'>
|
|
246 <h1>AliceVNCとTreeVNC</h1>
|
|
247
|
|
248 </div>
|
|
249
|
|
250 <div class='slide'>
|
|
251 <h1>TCP_NODELAYとTCP_DELAYとの比較</h1>
|
|
252 <p>TCP_DELAYはパケットを送信する際に小さいパケットを送るのではなく、まとめて大きいパケットとして送る手法。飛び交うパケットを減らすことで通信効果を向上させる</p>
|
|
253 <Div Align="center">
|
|
254 <table border="1">
|
|
255 <tr>
|
|
256 <td><object type="image/svg+xml" data="pix/compareTcpDelay.svg"></td>
|
|
257 </tr>
|
|
258 </table>
|
|
259 <Div>
|
|
260
|
|
261 </div>
|
|
262
|
|
263
|
|
264
|
|
265
|
|
266 </div> <!-- presentation -->
|
|
267 </body>
|
|
268 </html>
|