Mercurial > hg > Papers > 2013 > nobuyasu-jssst
comparison presen/index.html @ 53:a852cf2aeb1e
modified describe alice
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 11 Sep 2013 04:47:24 +0900 |
parents | ebdaa74061f7 |
children | edc3972b949c |
comparison
equal
deleted
inserted
replaced
52:ebdaa74061f7 | 53:a852cf2aeb1e |
---|---|
72 <li>Alice は Data Segment を文字列の Key で管理</li> | 72 <li>Alice は Data Segment を文字列の Key で管理</li> |
73 <li>Key 毎にリストが用意され, put された順番で Data Segment は取り出される</li> | 73 <li>Key 毎にリストが用意され, put された順番で Data Segment は取り出される</li> |
74 <li>Data Segment Manager(DSM) により管理される</li> | 74 <li>Data Segment Manager(DSM) により管理される</li> |
75 <p class="center"> | 75 <p class="center"> |
76 <img src="./pic/put.png"> | 76 <img src="./pic/put.png"> |
77 <li>Data Segment のデータ表現にはシリアライズライブラリーの MessagePack が使われている</li> | |
77 </p> | 78 </p> |
78 </ul> | 79 </ul> |
79 </article> | 80 </article> |
80 | 81 |
81 <article> | 82 <article> |
243 <li>TreeOperationLog を Data Segment で扱うために MessagePack によるシリアライズ可能にする必要がある</li> | 244 <li>TreeOperationLog を Data Segment で扱うために MessagePack によるシリアライズ可能にする必要がある</li> |
244 <li>MessagePack によりクラスをシリアライズするためには, そのクラスがもつフィールド全てがシリアライズできるものでないといけない</li> | 245 <li>MessagePack によりクラスをシリアライズするためには, そのクラスがもつフィールド全てがシリアライズできるものでないといけない</li> |
245 <li>TreeOperationLog が保持するフィールドを全てシリアライズして保持する container を用意</li> | 246 <li>TreeOperationLog が保持するフィールドを全てシリアライズして保持する container を用意</li> |
246 <li>TreeOperationLogではFunctional JavaのリストでPathが保持される. MessagePack ではFunctional JavaのListがシリアライズできないため, | 247 <li>TreeOperationLogではFunctional JavaのリストでPathが保持される. MessagePack ではFunctional JavaのListがシリアライズできないため, |
247 普通のListに変換させて Data Segment として保持させた</li> | 248 普通のListに変換させて Data Segment として保持させた</li> |
249 | |
250 <!-- | |
248 <li>TreeOperationLog は一度その container で Value 型へと変換されて保持されることで Data Segment として扱えるようにした</li> | 251 <li>TreeOperationLog は一度その container で Value 型へと変換されて保持されることで Data Segment として扱えるようにした</li> |
252 --> | |
249 </ul> | 253 </ul> |
250 </article> | 254 </article> |
251 | 255 |
252 <article> | 256 <article> |
253 <h3>ログを扱う Data Segment</h3> | 257 <h3>ログを扱う Data Segment</h3> |
313 </article> | 317 </article> |
314 | 318 |
315 <article> | 319 <article> |
316 <h3>実験方法</h3> | 320 <h3>実験方法</h3> |
317 <ul> | 321 <ul> |
318 <li>複数のクラスタから並列に5000回アクセス(HTTP Requestによる read と write)を行い, 平均時間をとる</li> | 322 <li>複数のクライアントから並列に5000回アクセス(HTTP Requestによる read と write)を行い, 平均時間をとる</li> |
319 <li>クラスタ1台から45台まで並列にアクセスを行った結果をグラフ化する</li> | 323 <li>クライアント1台から45台まで並列にアクセスを行った結果をグラフ化する</li> |
320 </ul> | 324 </ul> |
321 </article> | 325 </article> |
322 | 326 |
323 | 327 |
324 <article> | 328 <article> |
340 <td>132GB</td> | 344 <td>132GB</td> |
341 </tr> | 345 </tr> |
342 | 346 |
343 <table style="font-size: 0.7em"/> | 347 <table style="font-size: 0.7em"/> |
344 <tr> | 348 <tr> |
345 <th></th><th>VMWareクラスタ(リクエストをおくるサーバ)</th> | 349 <th></th><th>VMWareクラスタ(リクエストを送るクライアント)</th> |
346 </tr> | 350 </tr> |
347 <tr> | 351 <tr> |
348 <td>台数</td><td>45</td> | 352 <td>台数</td><td>45</td> |
349 </tr> | 353 </tr> |
350 <tr> | 354 <tr> |
414 </article> | 418 </article> |
415 | 419 |
416 <article> | 420 <article> |
417 <h3>まとめ</h3> | 421 <h3>まとめ</h3> |
418 <ul> | 422 <ul> |
419 <li>今回, Alice を用いて Jungle の分散データベースの実装を行った</li> | 423 <li>今回, 並列分散フレームワークである Alice を用いて Jungle の分散データベースの実装を行った</li> |
420 <li>Jungle の編集のログを Data Segment として Alice 上で他ノードへと送ることで実装</li> | 424 <li>Jungle の編集のログを Data Segment として Alice 上で他ノードへと送ることで実装</li> |
421 <li>今回シングル版から分散版への変更は1000行程度のコードの追加で行うことができた</li> | 425 <li>今回シングル版から分散版への変更は1000行程度のコードの追加で行うことができた</li> |
422 <li>これは Alice によりトポロジーの形成部分を書く必要がなかったことがあげられる</li> | 426 <li>これは Alice によりトポロジーの形成部分を書く必要がなかったことがあげられる</li> |
423 <li>Alice を用いてると比較的楽に分散プログラムの作成ができることが確認できた</li> | 427 <li>Alice を用いてると比較的楽に分散プログラムの作成ができることが確認できた</li> |
424 </ul> | 428 </ul> |
435 <article> | 439 <article> |
436 <h3>今後の課題</h3> | 440 <h3>今後の課題</h3> |
437 <ul> | 441 <ul> |
438 <li>次回は, 分散環境における性能比較を行いたい</li> | 442 <li>次回は, 分散環境における性能比較を行いたい</li> |
439 <li>そのためには分散データベースにおけるベンチマークの取り方の検証から行う必要がある</li> | 443 <li>そのためには分散データベースにおけるベンチマークの取り方の検証から行う必要がある</li> |
444 <li>永続性とNodeが落ちた際のリカバリの実装も残っている</li> | |
440 <br> | 445 <br> |
441 <li>また, Alice 内部では java.util.concurrent.Executorを使用している</li> | 446 <li>また, Alice 内部 java.util.concurrent.Executorを使用している為, Jungle側のThread Pool に干渉している可能性がある. |
442 <li>Alice を使用してのプログラムは Alice 自身の Thread Pool との調和も考えていく必要もある</li> | 447 調整を行いスピードアップを目指したい</li> |
443 <li>Alice の Thread Pool との競合性についての懸賞も行なって行きたい</li> | |
444 </ul> | 448 </ul> |
445 </article> | 449 </article> |
446 | 450 |
447 | 451 |
448 <article> | 452 <article> |