changeset 15:3f4b3f26419a

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 26 Nov 2012 14:10:38 +0900
parents 61ac63144065
children 2fb744749f74
files Paper/alice.ind
diffstat 1 files changed, 27 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/Paper/alice.ind	Mon Nov 26 13:01:22 2012 +0900
+++ b/Paper/alice.ind	Mon Nov 26 14:10:38 2012 +0900
@@ -34,7 +34,7 @@
 Alice は Code Segment と Data Segment を Java と Message Pack で実装したフレームワークである。トポロジーマネージャーを持ち、Bldae 上での
 分散プログラムの実験を容易に行うことができる。また、SEDA Architecture \cite{} を採用しており、マルチコア上でのスループットの向上を期待している。
 
-本論文では、Code Segment と Data Segment の Alice のAPIと、その設計方針を示し、それによって実装された水槽プログラムを示す。また、これまでの Federated 
+本論文では、Code Segment と Data Segment の Alice のAPIと、その設計方針を示し、それによって実装された水族館プログラムを示す。また、これまでの Federated 
 Linda との性能評価も行う。
 
 % また、他のマシンとの接続トポロジーの構成の機能も有しているのでユーザーはトポロジー構成後の処理を記述するだけでよい。また、AliceはJavaで実装されている。
@@ -266,15 +266,13 @@
 \end{figure}
 
 
----Topology Managerの使用方法
-
-Topology Nodeを起動する際にコマンドライン引数としてTopology ManagerのIPアドレスとポート番号を指定をする。
+Alice の Nodeを起動する際にコマンドライン引数としてTopology ManagerのIPアドレスとポート番号を指定をする。
 そしてmain関数内でTopologyNodeをnewを行えば良い。
 TopologyNodeの第一引数は Alice デーモンの設定オブジェクト、第二引数はStart Code Segmentである。
 ここで指定した、Start Code Segmentがトポロジーが完成した後実行される。
 
 
---ゲームの例題
+--水族館の例題
 
 今回作成した例題は水族館である。複数のクライアントのディスプレイを複数の魚が移動していくものである。魚は画面の端まで移動すると自分の画面上からは消え、別のクライアントの画面の端から魚が出てくる。また、魚のうち一匹はクライアントが直接操作することができる。トポロジーはTopologyManagerによりツリー状に構成してある。
 
@@ -287,8 +285,31 @@
 \item 各clientで2 - 4が実行される。
 \end{enumerate}
 
---評価
+--実験
+
+Ring
+
+水族館
+
+--評価と考察
+
+今回の実装は、Java により Code Segment と Data Segment に必要な API を洗い出すためのものであった。この実装でもいくつかの問題が明らかになっている。
+
+{\bf API } Class を継承したり、Input Datasegment や Output Datasegment の作成に factory object を使うのは Java を使う際の技術的なものであり、Alice のAPI自体は Java に固有である必要はない。むしろ、Java の Object 指向な記述が全体を煩雑にしている部分がある。{\tt update} は、Data Segmentの競合的な更新に使われるべきだと思われる。
 
+\{bf SEDA }
+
+Federated Linad に比べて、通信のレスポンスが遅い原因の一つはSEDA architectureのせいだと思われる。SEDA はスループット重視の実装であり、多段のパイプラインのせいでレスポンスは遅れてしまう。レスポンスが要求される部分のスケジューラーを別にするなどの工夫が必要だと思われる。それを記述そのものに入れるのが良いかどうかには議論の余地がある。
+
+\{bf MessagePack }
+
+今回の実装では単純な Message の転送の場合でも MessagePack の decode/encode が必要になる。これは単純に overhead になる。encode/decode 抜きに直接処理できる方が望ましい。また、Data Segment の一部の修正に
+
+\{bf Key }
+
+\{bf Java }
+
+拡張性
 
 --まとめと今後の課題