Mercurial > hg > Papers > 2013 > nobuyasu-jssst
changeset 52:ebdaa74061f7
modified slides
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 10 Sep 2013 20:01:51 +0900 |
parents | d95b08773a46 |
children | a852cf2aeb1e |
files | presen/index.html |
diffstat | 1 files changed, 36 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/presen/index.html Mon Sep 09 23:40:56 2013 +0900 +++ b/presen/index.html Tue Sep 10 20:01:51 2013 +0900 @@ -56,9 +56,9 @@ </article> <article> - <h3>並列分散フレームワーク Alice</h3> + <h3>Alice</h3> <ul> - <li>当研究室で開発している</li> + <li>当研究室で開発している並列分散フレームワーク</li> <li>Data Segment と Code Segment による並列・分散プログラミングを提供</li> <br> <li>まず Data Segment と Code Segment, それと Alice におけるデータ表現について説明を行う</li> @@ -66,20 +66,6 @@ </article> <article> - <h3>Code Segment</h3> - <ul> - <li>並列プログラミングにおけるタスク</li> - <li>Data Segment を受け取り計算を行うコード</li> - <li>Code Segment は計算に使う Data Segment の Key を登録してその Key にあたる Data Segment - が用意され次第処理が実行される</li> - <p class="center"> - <img src="./pic/dsandcs.png"> - </p> - <li>計算を行った結果を新たな Data Segment として出力する</li> - </ul> - </article> - - <article> <h3>Data Segment</h3> <ul> <li>計算に必要なデータ</li> @@ -93,6 +79,21 @@ </article> <article> + <h3>Code Segment</h3> + <ul> + <li>並列プログラミングにおけるタスク</li> + <li>Data Segment を受け取り計算を行うコード</li> + <li>Code Segment は計算に使う Data Segment の Key を登録してその Key にあたる Data Segment + が用意され次第処理が実行される</li> + <p class="center"> + <img src="./pic/dsandcs.png"> + </p> + <li>計算を行った結果を新たな Data Segment として出力する</li> + </ul> + </article> + +<!-- + <article> <h3>Alice上でのデータ表現:MessagePack</h3> <ul> <li>Data Segment のデータ表現には MessagePack を利用</li> @@ -102,7 +103,7 @@ <li>MessagePack を使用することで Alice 以外のプログラムでの Data Segment を扱うことが可能になる</li> </ul> </article> - +--> <article> <h3>非破壊的木構造を用いたデータベース Jungle</h3> <ul> @@ -112,6 +113,7 @@ </article> +<!-- <article> <h3>破壊的木構造</h3> <ul> @@ -124,7 +126,7 @@ <li><font color=red>ロックが多いためスケールしにくい</font></li> </ul> </article> - +--> <article> <h3>非破壊的木構造</h3> <ul> @@ -133,7 +135,7 @@ <p class="center"> <img src="./pic/non_destructive_tree.png"> </p> - <li>非破壊的木構造ではデータの編集中に走査をすることが可能なためスケールすると考えている</li> + <li>非破壊的木構造ではデータの編集中に走査をすることが可能なためスケールしやすいと考えている</li> </ul> </article> @@ -166,7 +168,7 @@ <article> <h3>TreeOperationLog</h3> <ul> - <li>Editor による編集の命令はある程度の塊で扱われる</li> + <li>Editor による編集の命令はある程度のAPIの塊で扱われる</li> <li>この編集の塊を TreeOperatinLog という</li> <li>今回実装した掲示板では, 書き込み時に次のような TreeOperaitonLog が作られる</li> <pre> @@ -174,7 +176,7 @@ [PUT_ATTRIBUTE:<-1,1>:key:author,value:oshiro] [PUT_ATTRIBUTE:<-1,1>:key:mes,value:hello] [PUT_ATTRIBUTE:<-1,1>:key:key,value:hoge] -[PUT_ATTRIBUTE:<-1,1>:key:timestamp,value:0] </pre> +[PUT_ATTRIBUTE:<-1,1>:key:timestamp,value:1378758973] </pre> <li>大文字の英字は実行した API を示す</li> <li><>で囲まれた数字は NodePath を示す</li> <li>key と value は attribute に格納する内容を示す</li> @@ -185,7 +187,7 @@ <h3>Alice を用いた Jungle の分散実装</h3> <ul> <li>Alice により TreeOperationLog を Data Segment として扱うことで行う</li> - <li>他Nodeがその Data Segment にアクセスを行えるようにする</li> + <li>他Nodeがその他Nodeの Data Segment にアクセスを行う</li> <li>アクセスできるようにするためには次の作業が必要</li> <ul> <li>トポロジーの形成</li> @@ -195,10 +197,10 @@ </ul> </article> +<!-- <article> <h3>トポロジーの形成</h3> <ul> - <li>トポロジーの形成は Alice の機能を用いる</li> <li>Alice ではトポロジー設定用ファイルに従いノード同士を接続させる</li> <li>5ノード2分木のノードを組みたいときは次のようなファイルになる</li> <pre style="overflow:scroll; height:300px;"> @@ -221,14 +223,14 @@ </pre> </ul> </article> - +--> <article> <h3>トポロジーの形成</h3> <ul> - <p>生成されるトポロジー</p> <p class="center"> <img src="./pic/tree_topology.png"> </p> + <li>トポロジーの形成は Alice の機能を用いる</li> <li>子供となるノードは parent キーにより親の DSM にアクセスできる</li> <li>親となるノードは child0, child1 キーにより子供のノードの DSM にアクセスできる</li> <li><font color=blue>Alice が提供する機能により楽にトポロジーの形成と他のノードがもつデータへのアクセスができる</font></li> @@ -241,6 +243,8 @@ <li>TreeOperationLog を Data Segment で扱うために MessagePack によるシリアライズ可能にする必要がある</li> <li>MessagePack によりクラスをシリアライズするためには, そのクラスがもつフィールド全てがシリアライズできるものでないといけない</li> <li>TreeOperationLog が保持するフィールドを全てシリアライズして保持する container を用意</li> + <li>TreeOperationLogではFunctional JavaのリストでPathが保持される. MessagePack ではFunctional JavaのListがシリアライズできないため, + 普通のListに変換させて Data Segment として保持させた</li> <li>TreeOperationLog は一度その container で Value 型へと変換されて保持されることで Data Segment として扱えるようにした</li> </ul> </article> @@ -287,24 +291,15 @@ <article> <h3>Merge algorithm の設計</h3> <ul> - <li>Jungle はログの衝突が起きた場合に Merge を行うことで衝突を解決する</li> - <li>今回実装した掲示板における Merge algorithm は単純な実装</li> - <li>書き込むデータと既に書き込まれたデータのタイムスタンプをみてMergeを行う</li> - <br> - <li>掲示板においてのMergeはそれで十分だが, ブログやWikiといったCMSを設計するさいには + <li>ロックは最新のtreeのrootを取得するときのみでよい</li> + <li>変更は新しいrootを作って書き込む</li> + <li>作った後に衝突のある変更が来た時にMergeが必要になる</li> + <li>書き込むデータと既に書き込まれたデータのタイムスタンプをみてMergeを行う.掲示板においてのMergeはそれで十分だが, ブログやWikiといったCMSを設計するさいには もっと複雑なMergeになる</li> - <li>どのようにMerge algorithmを実装していくかはよく考えていかなければならない</li> + <li>Jungle では非破壊により過去のデータを保持しているためMerge中でもreadに応答することが可能</li> </ul> </article> - <article> - <h3>Merge による利点</h3> - <ul> - <li>Jungle では非破壊により過去のデータを保持しているためMergeを行うことが可能</li> - <li>それにより最新のデータなくてもデータを返すことができる</li> - <li><font color=blue>必要なロックが少なくなりスケーラビリティに繋がると考えている</font></li> - </ul> - </article> <article> <h3>掲示板によるJungleの性能評価</h3> @@ -320,8 +315,8 @@ <article> <h3>実験方法</h3> <ul> - <li>複数のクラスタから並列に5000回アクセス(HTTP Request)を行い, 平均時間をとる</li> - <li>クラスタ1台から45台まで順次並列にアクセスを行った結果をグラフ化する</li> + <li>複数のクラスタから並列に5000回アクセス(HTTP Requestによる read と write)を行い, 平均時間をとる</li> + <li>クラスタ1台から45台まで並列にアクセスを行った結果をグラフ化する</li> </ul> </article>