# HG changeset patch # User kazz # Date 1282901615 -32400 # Node ID afe1f960638e3f2089ba9c7939ddd327636812ab # Parent ff047df3565a1fb057a56a38d3abb7892076b159 add api test diff -r ff047df3565a -r afe1f960638e paper/jsst-kazz.tex --- a/paper/jsst-kazz.tex Fri Aug 27 05:23:31 2010 +0900 +++ b/paper/jsst-kazz.tex Fri Aug 27 18:33:35 2010 +0900 @@ -95,11 +95,11 @@ 要はなく、サーバーがクライアントの必要な情報とは何かを把握し、情報を取捨 しながら伝搬していく必要がある。 -本研究室では、タプルスペースを制御する Linda プロトコルを採用した。さら -に、複数台の Linda サーバーを接続したモデルである分散型タプルスペース -Federated Linda を提案し、実装してきた。本研究では、Linda のプロトコルの -見直しと、 Federated Linda を用いたアプリケーションの実装を行い、現在の -システムの問題点を洗い出すことにする。 +本研究室では、分散プログラムモデルとして、タプルスペースを制御する Linda +を採用してきた。さらに、複数台の Linda サーバーを接続したモデルである分 +散型タプルスペースFederated Linda を提案し、実装してきた。本研究では、 +Linda の API の見直しと、 Federated Linda を用いたアプリケーションの実装 +を行い、現在のシステムの問題点を洗い出すことにする。 \section{ゲームの例題} @@ -112,8 +112,8 @@ \begin{figure}[htbp] \begin{center} -%\scalebox{0.50}{\includegraphics{./pic/aqua.eps}} % TODO: 重いから最後 -\scalebox{0.50}{\includegraphics{./pic/fedlinda.eps}} +\scalebox{0.50}{\includegraphics{./pic/aqua.eps}} % TODO: 重いから最後 +%\scalebox{0.50}{\includegraphics{./pic/fedlinda.eps}} \end{center} \caption{A,B,C の順に接続すると左から順に画面が接続される。 B の魚は C の画面まで移動している。} @@ -200,8 +200,7 @@ \label{fig:update} \end{figure} - -update() の)引数は、 out() と同じく update(id,data) のように、 id と data を渡す。 +update() の引数は、 out() と同じく update(id,data) のように、 id と data を渡す。 \section{Meta Engine を用いたサーバーの設計} \subsection{ツリー型トポロジーを用いた負荷分散}\label{subsection:treetopology} @@ -217,27 +216,26 @@ \label{fig:treetopology} \end{figure} -ツリー型トポロジーの各ノードは、親と2つの子への接続を持つ。また、末端のノードは -クライアントによる接続も受け付ける。 +ツリー型トポロジーの各ノードは、親と2つの子への接続を持つ。また、末端の +ノードはクライアントによる接続も受け付ける。 クライアントから座標情報を受け取った末端のノードは、その座標情報を他のク ライアントが必要としているかを判断する。もしも必要ならば、その Linda サー バーのみで通信は完結しているため、 Federated Linda 上でデータの伝搬は行 われない。 -もし、必要としない場合は、親のノードにタプルデータの伝搬を行う。そのとき、親のノー -ドは、その子から送られてきた座標情報を元に、対になっている子がデータを必 -要としているかを判断する。もし、必要ならば、対になっている子に対してタプ -ルデータを伝搬する。そうでなければ、さらにその親に対してタプルデータの伝 -搬を行う。 +もし必要としない場合は、親のノードにタプルデータの伝搬を行う。そのとき +親のノードは、その子から送られてきた座標情報を元に、対になっている子がデー +タを必要としているかを判断する。もし必要ならば、対になっている子に対し +てタプルデータを伝搬する。そうでなければ、さらにその親に対してタプルデー +タの伝搬を行う。 このように、座標データを必要としているマシンのみに座標データをコピーする -ことで、負荷分散を実現するモデルである。このモデルを用いない場合は、各ク -ライアントは、すべての接続しているクライアントの所持しているオブジェクト -の座標情報を常に監視する必要があり、画面に表示されない(すなわち、必要のない) -データも操作がされるたびに通信する必要があった。 - - +ことで、負荷分散を実現するモデルである。 このモデルを用いない場合、つま +り Linda サーバーを単体で用いる場合は、各クライアントは、すべての接続し +ているクライアントの所持しているオブジェクトの座標情報を常に監視する必要 +があり、画面に表示されない(すなわち、必要のない)データも操作がされるたび +に通信する必要があった。 \section{評価} \subsection{update() API の検証}\label{subsection:updateverification} diff -r ff047df3565a -r afe1f960638e paper/pic/plot.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/pic/plot.txt Fri Aug 27 18:33:35 2010 +0900 @@ -0,0 +1,5 @@ +set terminal postscript eps +set output "update.eps" +set ylabel "Time[ms]" +set xlabel "Update Count" +plot "testinout.dat" using 1:2 with lines, "testupdate.dat" using 1:2 with lines diff -r ff047df3565a -r afe1f960638e paper/pic/testinout.dat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/pic/testinout.dat Fri Aug 27 18:33:35 2010 +0900 @@ -0,0 +1,30 @@ +100,3991 +200,8090 +300,11998 +400,16118 +500,20239 +600,24246 +700,28311 +800,32102 +900,36318 +1000,40353 +1100,44401 +1200,48399 +1300,52330 +1400,56513 +1500,60489 +1600,64500 +1700,68550 +1800,72344 +1900,76603 +2000,80615 +2100,84644 +2200,88649 +2300,92708 +2400,96715 +2500,100800 +2600,104684 +2700,108827 +2800,112702 +2900,116767 +3000,120999