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>&lt;&gt;で囲まれた数字は 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>