Mercurial > hg > Papers > 2009 > axmo-thesis
comparison presen/presen.rst @ 6:61923a48c02d
add presen
author | axmo |
---|---|
date | Thu, 26 Feb 2009 01:21:47 +0900 |
parents | |
children | 4cd62fbbc89c |
comparison
equal
deleted
inserted
replaced
5:d383beb40a99 | 6:61923a48c02d |
---|---|
1 .. include:: s5defs.txt | |
2 .. include:: <mmlalias.txt> | |
3 | |
4 ================================================ | |
5 分散プログラムにおけるデバッグツールの設計と実装 | |
6 ================================================ | |
7 | |
8 *発表者* | |
9 **小野雅俊** | |
10 | |
11 *指導教官* | |
12 **河野真治** | |
13 | |
14 *所属* | |
15 **琉球大学 工学部 情報工学科** | |
16 | |
17 | |
18 | |
19 研究の背景と目的 | |
20 =================== | |
21 | |
22 背景 | |
23 | |
24 - 分散プログラム作成時にクラスタのネットワーク上の問題を考慮する必要がある。 | |
25 | |
26 - 分散プログラム用のデバッグ環境の必要性が増している。 | |
27 | |
28 - その上でスケーラビリティを確保しなくてはならない。 | |
29 | |
30 | |
31 目的 | |
32 | |
33 - Federated Linda上で通常のタプル通信とは別にメタな通信を行うプロトロルエンジンの設計と実装 | |
34 | |
35 | |
36 | |
37 発表の流れ | |
38 ====================== | |
39 | |
40 - Federated Linda | |
41 - Linda API (JAVA) | |
42 - Protocol Engine | |
43 - Meta Protocol Engine | |
44 - Meta Protocol Engineの性能評価 | |
45 - 測定 | |
46 - まとめと今後の課題 | |
47 | |
48 Federated Linda | |
49 =========================== | |
50 | |
51 - Linda | |
52 | |
53 - idで番号されたデータ(タプル)をタプル空間を通してやり取りする。 | |
54 | |
55 .. image:: img/7.jpg | |
56 :align: center | |
57 | |
58 | |
59 Federated Linda | |
60 =========================== | |
61 | |
62 - Federated Linda | |
63 | |
64 - 複数のタプル空間を相互に接続する | |
65 | |
66 .. image:: img/fedlinda.jpg | |
67 :align: center | |
68 | |
69 | |
70 Linda API (JAVA) | |
71 ======================== | |
72 | |
73 - public PSXLinda open(String host,int port) | |
74 | |
75 - Linda Serverに対して接続を行う。 | |
76 | |
77 - public PSXReply in(int id) | |
78 | |
79 - 指定したIDのタプルの受け取りを要求する。 | |
80 | |
81 - public PSXReply out(int id, ByteBuffer data) | |
82 | |
83 - 指定したIDにByteBufferのデータを送信する。 | |
84 | |
85 - public int sync(long mtimeout) | |
86 | |
87 - 接続しているServerとのタプルの送受信を行う。 | |
88 | |
89 Protocol Engine | |
90 ======================= | |
91 | |
92 - タプル空間とタプル空間のデータをやり取りする | |
93 | |
94 - 前述のAPIを用いた例題 | |
95 | |
96 .. raw:: html | |
97 | |
98 <table> | |
99 <tr> | |
100 <td> | |
101 | |
102 .. class::small | |
103 | |
104 :: | |
105 | |
106 fdl = FederatedLinda.init(); | |
107 | |
108 getpsx = fdl.open(localhost,10000); | |
109 sendpsx = fdl.open(localhost,10001); | |
110 | |
111 in = getpsx.in(10); | |
112 | |
113 data = in.getData(); | |
114 sendpsx.out(10,data); | |
115 | |
116 fdl.sync(); | |
117 | |
118 .. raw:: html | |
119 | |
120 </td> | |
121 <td align="center"> | |
122 | |
123 .. image:: img/uml.jpg | |
124 :width: 360px | |
125 | |
126 .. raw:: html | |
127 | |
128 </td> | |
129 </tr> | |
130 </table> | |
131 | |
132 | |
133 Meta Protocol Engine | |
134 ================================ | |
135 | |
136 .. raw:: html | |
137 | |
138 <table> | |
139 <tr> | |
140 <td> | |
141 | |
142 - 前述のProtocol Engineではデバッグを行う際に逐次Protocol Engineを用意する必要がある。 | |
143 | |
144 - スケーラビリティを確保する為に、Linda Server内に直接Protocol Engineを追加する。 | |
145 | |
146 - Meta Protocol Engine | |
147 | |
148 - Protocol Engineと同じ様にServerに接続する事が出来る。 | |
149 | |
150 - 追加されているサーバー自身にアクセスする事が出来る。 | |
151 | |
152 - 通常の通信とは違うMetaな通信を行う事が出来る。 | |
153 | |
154 .. raw:: html | |
155 | |
156 </td> | |
157 <td align="center"> | |
158 | |
159 .. image:: img/3.jpg | |
160 :align: center | |
161 :width: 360px | |
162 | |
163 .. raw:: html | |
164 | |
165 </td> | |
166 </tr> | |
167 </table> | |
168 | |
169 | |
170 Meta Protocol Engineの性能評価 | |
171 ============================== | |
172 提案、実装したMeta Protocl Engineの性能を評価するため、Ringを用いて評価を行う。 | |
173 | |
174 .. raw:: html | |
175 | |
176 <table> | |
177 <tr> | |
178 <td> | |
179 | |
180 - Ring | |
181 | |
182 - 通信パケットは一つ。 | |
183 - 通信を行う経路が決まっている。 | |
184 - 分散通信に余り影響を与えない。 | |
185 | |
186 - 環境 | |
187 | |
188 - クラスター、100台 | |
189 - データサイズを1Kb〜1Mb | |
190 - Torqueを用いた | |
191 | |
192 .. raw:: html | |
193 | |
194 </td> | |
195 <td align="center"> | |
196 | |
197 .. image:: img/5.jpg | |
198 :align: center | |
199 | |
200 .. raw:: html | |
201 | |
202 </td> | |
203 </tr> | |
204 </table> | |
205 | |
206 | |
207 測定結果 | |
208 ======================== | |
209 | |
210 .. raw:: html | |
211 | |
212 <center> | |
213 <table> | |
214 <tr> | |
215 <td align="center"> | |
216 | |
217 .. image:: img/metaring1.jpg | |
218 :align: center | |
219 | |
220 .. raw:: html | |
221 | |
222 <p><font size="5">一台あたり 約40ms<br /><br /> | |
223 open/closeの時間が影響</font></p> | |
224 | |
225 </td> | |
226 <td align="center"> | |
227 | |
228 .. image:: img/metaring1000.jpg | |
229 :align: center | |
230 | |
231 .. raw:: html | |
232 | |
233 <p><font size="5">一台あたり 約0.6ms<br /> | |
234 open/closeの影響を受けない<br /> | |
235 デバッグ通信に耐えうる事が出来る</font></p> | |
236 </td> | |
237 </tr> | |
238 </table> | |
239 </center> | |
240 | |
241 | |
242 まとめ | |
243 ========================= | |
244 | |
245 - 通常通信に影響を及ぼさない為、スケーラビリティを保持する為 | |
246 Metaな通信を行うMeta Protocol Engineを提案した。 | |
247 | |
248 - デバッグを行う都度にProtocol Engineを用意する事なく | |
249 Serverが増減しても対応出来る。 | |
250 | |
251 - Metaな通信速度からデバッグに使用するのに耐え得る性能を保持している。 | |
252 | |
253 | |
254 今後の課題 | |
255 ======================= | |
256 | |
257 - 同じクラスタ上で別のMeta Protocol Engineが動作している場合、相互に影響を及ぼさないか。 | |
258 | |
259 - 実際にMetaなタプルを通信した場合、通常の通信との影響はあるのか。 | |
260 | |
261 終 | |
262 ============== | |
263 |