Mercurial > hg > Papers > 2013 > sugi-thesis
changeset 9:4f1e82d5b09a
fix
author | sugi |
---|---|
date | Mon, 18 Feb 2013 18:24:51 +0900 |
parents | 07eaef03f3b7 |
children | 482339b9a9fb |
files | Draft/Draft.pdf Draft/Draft.tex Draft/pic/result2.pdf |
diffstat | 3 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/Draft/Draft.tex Mon Feb 18 18:04:07 2013 +0900 +++ b/Draft/Draft.tex Mon Feb 18 18:24:51 2013 +0900 @@ -117,7 +117,7 @@ Aliceを用いて水族館ゲームの作成を行った。水族館ゲームとは複数の魚の情報をゲームに参加するClinet全体で共有し、複数のディスプレイに異なる視点で表示されるものである。トポロジーはツリー状に構成されている。 -水族館ゲームを作成した目的は魚とディスプレイが増えてもサービスを維持できることを確認するためである。しかし、現状では魚の数、参加するClinetが増えるとトップノードが処理すべきCode Segmentが増加していくため、このままではスケールしないと思われる。 +水族館ゲームを作成した目的は魚とディスプレイが増えてもサービスを維持できることを確認するためである。しかし、現状では魚の数、参加するClinetが増えるとトップノードが処理すべきCode Segmentが増加していくため、スケールしないと思われる。 以前水族館ゲームをJava3Dで作成したが、JavaのVersion が1.7になったのに伴いJava3Dが使用不可になった。しかしJavaFXというGUIプラグインが追加されたため、JavaFXで水族館ゲームを書きなおした。(図 \ref{fig:JavaFX})また、描画部分がJava3DからJavaFXに変わっただけであるので、それぞれで魚の情報を共有することが可能である。 @@ -144,7 +144,7 @@ \section{実験} -トップノードから子ノードに対してデータの送信し、子ノードは受けとったデータをトップノードに送り返す。この作業にかかる時間を測定し、子ノードの数を増やしていくことで台数が増えた際の時間の変化により、スケールするかどうかを評価する。マシン 48 台,CPU Intel(R) Xeon(R) X5650 @ 2.67GHz, 仮想コア数 4,CPU キャッシュ 12MB。Blade 上の仮想マシン上での測定を行った。 +トップノードから子ノードに対してデータの送信し、子ノードは受けとったデータをトップノードに送り返す。この作業にかかる時間の測定を行う。台数が増えた際の時間の変化により、スケールするかどうかを評価する。マシン 48 台,CPU Intel(R) Xeon(R) X5650 @ 2.67GHz, 仮想コア数 4,CPU キャッシュ 12MB。Blade 上の仮想マシン上での測定を行った。 \begin{figure}[htbp] @@ -156,19 +156,19 @@ \end{figure} \section{考察} -サービスに参加するClientの数が増加するに連れて、データを受信するまでの時間が増加していく。これはトップノードがData Segmentを子ノードに送信するというCode SegmentがThread Poolが次々に送られてくるが、同時実行できるのはCPU数までなので、Client数が増えるに従ってThread Poolで実行されるのを待つ時間が増えていくのではないかと思われる。 +サービスに参加するClientの数が増加するに連れて、データを受信するまでの時間が増加していく。これはトップノードがData Segmentを子ノードに送信するというCode SegmentがThread Poolが次々に送られてくるが、同時実行可能すうはCPUに依存するため、Client数が増えるに従ってThread Poolで実行されるのを待つ時間が増えていくのではないかと思われる。 % 今後の課題ではなくて、今のAPIの評価を行う \section{APIの評価} -現在、Aliceが提供されているAPIだけで分散プログラムを記述することが可能であったものの、追加、改善したほうがよいAPIがいくつかある。 +現在、Aliceが提供されているAPIだけで分散プログラムを記述することが可能であったものの、改善したほうがよいAPIがある。 \verb+setKey+ は呼ぶタイミングを気をつけなければ、NullPointerExceptionになる事がわかった。\verb+setKey+ 以降に処理を記述しても実行される前にactiveになってしまう可能性がある。従って\verb+setKey+ の方法を考えなおさなければならない。 -\verb+peek+ でData Segmentを取得、\verb+put+ でData Segmentの追加を行なっているが、この際にMessage Packでdecode / encodeの操作が毎回行われている。 -他のClientに対してデータの送受信するために行われている場合は仕方ないが、local に対してこれらを行う必要はないので、localに対しての送受信はencode / decode 抜きに処理できるようにするのが望ましい。 +\verb+peek+ でData Segmentを取得、\verb+put+ でData Segmentの追加を行なっているが、この際にMessage Pack\cite{3}でdecode / encodeの操作が行われている。 +他のClientに対してデータの送受信するために行う場合はやむを得ないが、local に送受信する際にも行なっている。localに対しての送受信はencode / decode 抜きに処理できるようにするのが望ましい。また \section{Aliceの問題点} \subsection{Java}