annotate presen/index.html @ 29:06393dd99ba5

minor change
author e095732 <e095732@ie.u-ryukyu.ac.jp>
date Fri, 21 Dec 2012 13:20:47 +0900
parents 66b24965379f
children 189d15c2152c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 <!DOCTYPE html>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 <!--
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 Google HTML5 slide template
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 Authors: Luke Mahé (code)
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 Marcin Wichary (code and design)
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 Dominic Mazzoni (browser compatibility)
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 Charles Chen (ChromeVox support)
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 URL: http://code.google.com/p/html5slides/
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 -->
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 <html>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 <head>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 <title>Presentation</title>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 <meta charset='utf-8'>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 <script
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 src='./slides.js'></script>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 </head>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 <style>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 /* Your individual styles here, or just use inline styles if that’s
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 what you want. */
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 </style>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 <body style='display: none'>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 <section class='slides layout-regular template-default'>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 <!-- Your slides (<article>s) go here. Delete or comment out the
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 slides below. -->
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 <h1>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 <font size="6">CodeSegmentとDataSegmentによるプログラミング手法</font>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 </h1>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 <p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 河野 真治<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 杉本 優
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 </p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 琉球大学 並列信頼研究室
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 <h3>研究背景</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 <ul>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
53 <p>本研究室では分散プログラミングに置いて、タスクをCode Segment、データをData Segmentという単位に分割して記述する方法を提唱している。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
54 <p>しかし、前述したプログラムをプログラマーが一から記述していくことは大変である。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
55 <p>そこで、本研究室の卒業生である赤嶺一樹氏が分散ネットフレームワークAliceのプロトタイプを作成した。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
56 <p>本研究では実際にAliceを用いて、<strong>"水族館"</strong>の例題を作成を通して、APIの見直し、問題点の洗い出しを行った。</p>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 <article>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
61 <h3>発表内容</h3>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
62 <ul>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
63 <li>Aliceの紹介
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
64 <li>プログラムの記述方法
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
65 <li>水族館の例題と性能評価
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
66 <li>まとめと課題
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
67 </ul>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
68 </article>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
69
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
70 <article>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 <h3>Alice</h3>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
72 <ul>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
73 <p>Alice は本研究室で開発を行なっている分散タスク管理フレームワークである。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
74 <p>Cell用のOpen CL に似たTask管理用フレームワークCeriumと
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
75 Lindaを相互接続した分散フレームワークであるFederated Lindaの開発を通して得られた知見を生かされている。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
76 <ul>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 <h3>Cerium</h3>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
82 <ul>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
83 <p>CeriumではTaskを小さく分割して並列実行し、データ転送はパイプライン実行により隠される。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
84 <p>Taskには依存関係がありデータの依存関係がそのままTaskの依存関係になることが多い。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
85 <p>繰り返し使われるデータの管理が重要であり、実行時にわかるデータ構造感間の依存関係がTaskを複雑にしている。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
86 </ul>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 </article>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
88
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 <h3>Data Segment API - put</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 <ul><li>データを追加する</li></ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 <img src="images/put.png" width="70%">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 <p>putを行うとデータがenqueueされる。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 <p>putするたびにKeyが持つindexがincrementされる。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
100
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 <h3>Data Segment API - update</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 <ul><li>データを置き換える</li></ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 <img src="images/update.png" width="70%">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 putと異な点は先頭データを削除し、データを追加する。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 <h3>Data Segment API - peek</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 <ul><li>データを取得する</li></ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 <img src="images/peek.png" width="50%"><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 peekはデータを取得しreceiverに渡す。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 <h3>Data Segment API - peek</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 <img src="images/peek1.png" width="60%"><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 <p>要求したデータがない場合にはwaitListに登録する。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 データがpeek、updateされた際に要求したデータがあるかどうかを再びチェックする。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 <h3>Data Segment API - take</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 <ul><li>データを取得して取得されたデータはdequeueされる</li></ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 <img src="images/take.png" width="50%"><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 <p>基本的な動作はpeekと同じである。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 <p>peekと異なる点は取得されたデータがdequeueされる。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 <h3>Data Segmentの実装</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 Data Segmentのデータ表現はMessagePackを使用。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 <ul><p>JavaにおけるMessagePackのデータ表現</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 <li>一般的なJavaのクラスオブジェクト</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 <li>MessagePack for JavaのValueオブジェクト</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 <li>byte[]で表現されたバイナリ</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 <p>Data Segment APIでは</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 MessagePack for javaのValueオブジェクトを使用</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 MessagePackのバイナリにシリアライズできる型のみで
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 構成されているため自己記述式のデータ形式
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
164
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 <h3>Data Segmentの実装</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 <ul><p>Valueオブジェクトは通信に関わる際には、シリアライズ、デシリアライズを行うことができる</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 <img src="images/FishPoint.png" width=700><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 ユーザーが一般的なクラスをIDL(Interface Definition Language)のように用いてデータを記述することが可能
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
172
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 <h3>CodeSegment</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 <li>Code Segmentはタスクのこと</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 <li>ユーザーが記述する際にCode Segment内で使用する<br>Data Segmentの作成を記述</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 <li>Input Data SegmentとOutput Data Segmentを作るAPI</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 <li>必要なInput Data Segmentが揃った時に実行される</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
182
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 <h3>Input Data SegmentとOutput Data Segment</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 <li>localかremoteを指定</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 <li>Data Segmentに関連付けされているKEYを指定</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 <h3>Data Segmentの例</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 <img src="images/SendWidth.png" width=600>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
197
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 <h3>Input Data Segmentの例</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 <img src="images/ids.png" width=400><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 Receiverの作成<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 PEEK,TAKEのどちらかを選択
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 <img src="images/idsSetkey.png" width=600><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 第1引数 マシン名<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 第2引数 Data Segmentに関連付けられているKEY<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 第3引数 index(指定しない場合は先頭データが取得される)<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
212
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 <h3>Output Data Segmentの例</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 <img src="images/ods.png" width=400><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 putかupdateのどちらかを選択
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 第1引数 マシン名<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 第2引数 Data Segmentに関連付けるKEY<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 第3引数 Data Segment<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
225
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 <h3>Code Segmentの実行方法</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 <img src="images/StartCS.png" width=600><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 AliceにはCのmainに相当するStart Code SegmentというCode Segmentが存在する。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 Start Code SegmentはInput Data Segmentが存在しない。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 <h3>Code Segmentの実行方法</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 <img src="images/execute.png" width=600><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 このStart Code Segmentをnewし、executeメソッドを呼ぶことでCode Segmentを実行することができる。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
246
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 <h3>Code Segmentの記述方法</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 <img src="images/TestCodeSegment.png" width=600><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 ユーザがCode Segmentを記述する際にはCode Segmentを継承する。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 runの中に実際にさせたい処理を記述する。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
255
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 <h3>Topology Manager</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 Alice同士の接続トポロジーを管理する。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 トポロジーファイルを読み込み、参加を表明したクライアントに接続すべきクライアントのIPアドレスやポート番号、接続名を送る。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 <img src="images/topology.png" width=350>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
266
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 <h3>Topology Manager</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 Topology Manager関連の通信は全て、Code Segmentで実装されている。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
273
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 <h3>トポロジーファイル</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 <p>トポロジーファイルはDOT Languageと言う言語で記述される。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 DOT Languageはプレーンテキストを用いてデータ構造としてのグラフを表現するデータ記述言語の一つ。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 DOT Languageのグラフ構造を用いてTopology Node間の接続を表現する。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
282
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
284 <h3>トポロジーファイルの記述方法</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 <img src="images/topologyfile.png">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 <p>dotコマンドを用いて、グラフの画像ファイルを生成することができるのでトポロジーが正しいか確認することができる。</p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
288
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
291
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 <h3>トポロジーファイルの確認方法</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 <p><strong>dot -T png ring.dot -o ring.png</strong></p>
29
06393dd99ba5 minor change
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
296 <div align="center">
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 <img src="images/dot.png">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
301
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 <h3>水族館の例題</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 <ul>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
305 <p>複数の魚が複数のディスプレイ上を移動する。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
306 <p>魚のうち一匹はクライアントが操作することができる。</p>
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
307 <p>トポロジーはツリー状に構成してある。</p>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
310
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 <article>
29
06393dd99ba5 minor change
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
312 <div align="center">
06393dd99ba5 minor change
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
313 <img src="images/aquarium.png" width=600>
06393dd99ba5 minor change
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
314 </div>
27
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
315 </article>
28
66b24965379f add graffle files
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 27
diff changeset
316
27
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
317 <article>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 <h3>性能比較 - 実験概要</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 AliceとFederated Linda で性能比較を行った。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 Ring型のトポロジーを構成、メッセージが100周する時間を計測。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 1周あたりの平均時間を求めた。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 <div align="center">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 <img src="images/ringTest.png">
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 </div>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 パケットのサイズは10byte,10Kbyte,100kbtyeで実験
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
329
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 <h3>実験環境</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 ブレードサーバー上の仮想マシンによる仮想クラスタ環境を用いて実験した。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 <p><strong>ブレードサーバー詳細</strong></p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 <table style="font:Osaka;text-align:right;" border="2" >
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 <td>マシン台数</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 <td>8台</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 <td>CPU</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 <td>Intel(R) Xeon(R) X5650 @ 2.67GHz</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 <td>物理コア数</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 <td>12</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 <td>論理コア数</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 <td>24</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 </tr><tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 <td>CPU キャッシュ</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 <td>12MB</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 <td>Memory</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 <td>132GB</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 </table>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
360
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 <h3>実験環境</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 <p><strong>仮想クラスタ詳細</strong></p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 <table style="font:Osaka;text-align:right;" border="2" >
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 <td>マシン台数</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 <td>48台</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 <td>CPU</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 <td>Intel(R) Xeon(R) X5650 @ 2.67GHz</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 <td>物理コア数</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 <td>2</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 <td>論理コア数</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 <td>4</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 </tr><tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 <td>CPU キャッシュ</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 <td>12MB</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 <tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 <td>Memory</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 <td>8GB</td>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
390 </tr>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 </table>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
394
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
395 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 <h3>実験結果</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
397 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 <strong>10byte</strong><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 <img src="images/ring10B.png" width=650>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
401 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
402
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 <h3>実験結果</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 <strong>10kbyte</strong><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 <img src="images/ring10KB.png" width=650>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
409 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
410
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 <article>
27
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
412 <h3>実験結果</h3>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 <strong>100kbyte</strong>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 <img src="images/ring100KB.png" width=650><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 データ量が増えると差が縮まっている。これはここの通信の手間の影響が大きことを示している。
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
419
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 <h3>評価と考察</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
422 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 今回の実装はJavaによりCode SegmentとData Segmentに必要なAPIを洗い出すものだった。この実装でも問題をいくつか発見した。<br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 <p><strong>API</strong></p>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 <li>Class継承したりData Segmentの作成にFactory objectを使うのはJavaを使う際の技術的な問題</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 <li>JavaのObject指向な記述が全体を煩雑にしている部分がある</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
427 <li>updateはData Segmentの競合的な更新に使われるべきだと思われる</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
430
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 <h3>評価と考察</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 <p><strong>SEDA</strong></p>
27
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
434 <ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
435 <li>Federated Lindaに比べ遅い原因の一つはSEDA architectureのせいと思われる</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
436 <li>SEDAはスループット重視の実装であり、多段パイプラインのせいでレスポンスが遅れてしまう</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
437
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
438 </ul>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
439 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
440
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 <h3>評価と考察</h3>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
443 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 <li>スレッドプールを使わないほうが、Ringの結果は良い</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 <img src="images/notp.png" width=650><br>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
447 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
448
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 <article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 <h3>評価と考察</h3>
27
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
451 <p><strong>MessagePack</strong></p>
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
452 <ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 <li>今回の実装では単純なMessageの転送時にもMessagePackのdecode/encodeをしているが、overheadになってしまうため、decode/encode抜きに直接操作できるほうが望ましい</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
454 <li>Data Segmentの一部の修正をするたびにData Segmentが再構成されているがこれは望ましくない</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
455 <li>AliceもCeriumのようにInput Data SegmentとOutput Data SegmentをswapするAPIがあるとよいと思われる</li>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
456 </ul>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 </article>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
458
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
459
27
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
460 <article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
461 <h3>評価と考察</h3>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
462 <p><strong>Key</strong></p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
463 <ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
464 <li>分散実装においてはData Segmentの相互参照はKey経由が打倒であるが、並列実装では全てのData SegmentをKey Value Storeに格納するのは、性能的な問題を引き起こす</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
465 <li>分散記述と並列記述を分ければ解決するが、2つの記述がかけ離れるのは好ましくない</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
466 <li>本来Key Value storeは持続性を持たせる必要がある</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
467 </ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
468 </article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
469
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
470 <article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
471 <h3>評価と考察</h3>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
472 <p><strong>Java</strong></p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
473 <ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
474 <li>Data SegmentはCode Segmentがactiveの時のみメモリ上にあり、その最大値はActive Taskの量を見積もればよいのでAliceにGarbage Collectionの機能は必要ない</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
475 <li>key Value Store 上のデータは決してGarbage Collectionの対象にはならないが、それがGarbage Collectionに負荷をかける結果となるためAliceとJavaの相性は悪い</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
476 </ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
477 </article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
478
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
479 <article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
480 <h3>評価と考察</h3>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
481 <p><strong>拡張性</strong></p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
482 <ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
483 <li>分散アプリケーションのプロトコルは常に変更されるため、Aliceもそれに対応する必要がある</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
484 <li>Keyとトポロジーマネージャーをプロトコル毎に別に用意すれば複数のプロトコルを同時に走らせることが可能</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
485 <li>Data SegmentとCode Segmentの結びつきは弱いため、Data Segmentに余計な値がある場合、値が足りない場合に適切な値を設定することで古いCode Segmentを変更するとこなしにプロトコルを拡張できる</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
486 </ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
487 </article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
488
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
489 <article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
490 <h3>まとめと課題</h3>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
491 <ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
492 <p>今回Code SegmentとData Segmentによる並列分散フレームワークのJavaによる実装を示した。実装でしかえられない知見を得ることができた。</p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
493 <p>今回Javaによる実装を行ったがJavaがAliceの実装に不向きであるということもわかった。</p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
494 <p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
495 <li>Code Segment/Data Segmentを見たコンパイラ的アプローチ</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
496 <li>実行時最適化</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
497 <li>CbCによる実装</li>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
498 などが有効、効果的だと思われる。</p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
499 <p>今回はノード内の並列実行やGPGPUによる並列実行などは考慮していない。将来的にそれを含め実装をしていきたい。</p>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
500 </ul>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
501 </article>
83a9162efd5e add image file
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents: 26
diff changeset
502
26
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
503 </Section>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 </body>
8370b9afbf33 add presen
e095732 <e095732@ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 </html>