Mercurial > hg > Papers > 2013 > nobuyasu-jssst
changeset 55:307c87617e62 default tip
add slide
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 11 Sep 2013 10:21:42 +0900 |
parents | edc3972b949c |
children | |
files | presen/index.html |
diffstat | 1 files changed, 39 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/index.html Wed Sep 11 04:59:50 2013 +0900 +++ b/presen/index.html Wed Sep 11 10:21:42 2013 +0900 @@ -56,12 +56,16 @@ </article> <article> - <h3>Alice</h3> + <h3>Alice : Code Segment </h3> <ul> - <li>当研究室で開発している並列分散フレームワーク</li> + <li>Alice : 当研究室で開発している並列分散フレームワーク</li> <li>Data Segment と Code Segment による並列・分散プログラミングを提供</li> - <br> - <li>まず Data Segment と Code Segment, それと Alice におけるデータ表現について説明を行う</li> + <p class="center"> + <img src="./pic/dsandcs.png"> + </p> + <li>Code Segment : 並列プログラミングにおけるタスク</li> + <li>Data Segment を受け取り計算を行うコード</li> + <li>Data Segment の Key を登録することで, 登録された Data Segment が準備されしだい実行される</li> </ul> </article> @@ -115,7 +119,6 @@ </article> -<!-- <article> <h3>破壊的木構造</h3> <ul> @@ -125,10 +128,11 @@ <img src="./pic/destructive_tree.png"> </p> <li>データを受け取ろうと木を走査するスレッドは編集時には書き換えの終了をまつ必要がある</li> +<!-- <li><font color=red>ロックが多いためスケールしにくい</font></li> +--> </ul> </article> ---> <article> <h3>非破壊的木構造</h3> <ul> @@ -257,13 +261,13 @@ <article> <h3>ログを扱う Data Segment</h3> <ul> - <li>Data Segment にされた TreeOperaiontinLog はAlice上で "log", "childLog" というキーで扱われる</li> - <li>"log" にはそのノードが行った木の編集ログが入る</li> - <li>子供となるノードは "parent" キーを使うことで親のノードの DSM にアクセスできる</li> + <li>Data Segment にされた TreeOperaiontinLog はAlice上で log, childLog というキーで扱われる</li> + <li>log にはそのノードが行った木の編集ログが入る</li> + <li>子供となるノードは parent キーを使うことで親のノードの DSM にアクセスできる</li> <p class="center"> <img src="./pic/alice_topology.png"> </p> - <li>子供となるノードは親の "log" を見張る Code Segment が走らせており, ログが put されると + <li>子供となるノードは親の log を見張る Code Segment が走らせており, ログが put されると そのデータを受け取り自身の Tree へと反映を行う</li> </ul> </article> @@ -271,10 +275,10 @@ <article> <h3>ログを扱う Data Segment</h3> <ul> - <li>"childLog" には子供となるノードが行った編集のログが入れられる</li> - <li>各ノードでは "childLog" を見張る Code Segment が走っており, データが put され次第 + <li>childLog には子供となるノードが行った編集のログが入れられる</li> + <li>各ノードでは childLog を見張る Code Segment が走っており, データが put され次第 Tree へのログの反映が行われる</li> - <li>親ノードの "log" と自身がもつ "childLog" を Code Segment でみはることでデータの分散を + <li>親ノードの log と自身がもつ childLog を Code Segment でみはることでデータの分散を 行う</li> <table> <tr style="width:100%;"> @@ -313,6 +317,7 @@ <li>組み込みウェブサーバである jetty をフロントエンドに実装</li> <li>今回作成した分散バージョンと元のバージョンをシングルサーバ上で動かし, 2つの ベンチマークをとり性能比較を行う</li> + <li>また, Cassandra でも同様のアプリケーションを作成し性能比較を行う</li> <li>ベンチマークは学科の提供するVMのクラスタを用いる</li> </ul> </article> @@ -423,17 +428,16 @@ <ul> <li>今回, 並列分散フレームワークである Alice を用いて Jungle の分散データベースの実装を行った</li> <li>Jungle の編集のログを Data Segment として Alice 上で他ノードへと送ることで実装</li> + <li>具体的には, データを Data Segment で扱うための変換と, その Data Segment により Tree へ反映を行う + Code Segment を用意することで実装を行った</li> + <li>トポロジーの形成部分は Alice の提供する機能を使用した</li> + <li>また, 実装を行った分散データベースで掲示板の作成をし, 元の Jungle との性能比較も行った</li> + <li>読み込み速度に差は無いが, 書き込み速度は分散版が遅いことを確認した</li> +<!-- <li>今回シングル版から分散版への変更は1000行程度のコードの追加で行うことができた</li> <li>これは Alice によりトポロジーの形成部分を書く必要がなかったことがあげられる</li> - <li>Alice を用いてると比較的楽に分散プログラムの作成ができることが確認できた</li> - </ul> - </article> - - <article> - <h3>まとめ 2</h3> - <ul> - <li>また, 実装を行った分散データベースで掲示板の作成を, 元の Jungle との性能比較も行った</li> - <li>読み込み速度に差は無いが, 書き込み速度は分散版が遅いことを確認した</li> + <li>Alice を用いて少ない変更で分散プログラムの作成ができることが確認できた</li> +--> </ul> </article> @@ -449,10 +453,23 @@ </ul> </article> + <article> + <h3>スケーラビリティとは?</h3> + <p>スケーラビリティとは, システムの特性で, 利用者の増大やその負荷に応じて柔軟に対応できるような性質.</p> + <p>分散システムの場合, ノードを追加するだけで性能を線形に向上させる事ができる</p> + <br/> + <p>スケーラビリティを上げる方法は?</p> + <ul style="color:red;text-weight:bold;"> + <li>スケールアップ : 高価なサーバーを買う</li> + <li>スケールアウト : 安価なサーバーを複数用意して利用する</li> + </ul> + <p>という2種類の方法がある.</p> + </article> <article> <h3>Cassandra の実装との比較</h3> <ul> + <li>Cassandraとは, スケーラブルな分散KeyValueStoreデータベースである</li> <li>Cassandra ではデータの書き込みはノードの過半数に行われるのを待つ</l> <li>読み込みに関しても過半数のノードを調べ, 最も新しいタイムスタンプを持つデータを返す</li> <p class="center">