1
|
1 \chapter{TreeVNC の評価}
|
|
2
|
4
|
3 \section{木の深さによるメッセージ伝達の遅延}
|
|
4 VNCServer から受信する画像データ、
|
|
5 TreeVNC で扱われるメッセージ通信は構成された木を伝って伝達される。
|
|
6 接続する人数が増える毎に木の段数は増えていく。
|
|
7 そこで root から木の末端の node まで、
|
|
8 メッセージが遅延することなく伝達できているかを検証する実験を行った。
|
|
9
|
|
10
|
|
11 \section{実験環境}
|
|
12
|
|
13 授業を受講している学生が TreeVNC を使用した状態で実験を行った。
|
|
14 TreeVNC には最大で34名が接続していた。
|
|
15
|
|
16 \section{メッセージを使用した実測}
|
|
17
|
|
18 TreeVNC を伝搬するメッセージに、CHECK\_DELAY・CHECK\_DELAY\_REPLY を追加した。
|
|
19 CHECK\_DELAY は root から node の末端まで伝達するメッセージ(図\ref{fig:checkdelay}, 左)、
|
|
20 CHECK\_DELAY\_REPLY は各 node から root まで伝達するメッセージ(図\ref{fig:checkdelay}, 右)である。
|
|
21
|
|
22 % heart beat 代わりにも使える等の違ったメリットも書く?
|
|
23 % デバッグに使用できたとかって
|
1
|
24
|
|
25 \begin{figure}[htpd]
|
|
26 \begin{center}
|
4
|
27 \includegraphics[scale=0.6]{./images/Test/checkDelay.pdf}
|
|
28 \end{center}
|
|
29 \caption{CHECH\_DELAY, CHECK\_DELAY\_REPLY}
|
|
30 \label{fig:checkdelay}
|
|
31 \end{figure}
|
|
32
|
|
33 \newpage
|
|
34
|
|
35 CHECK\_DELAY message は、送信時刻を付けて送信する。
|
|
36 root から CHECK\_DELAY 送信し、
|
|
37 末端 node まで各 node を伝いながら伝達して行く。
|
|
38
|
|
39 CHECK\_DELAY\_REPLY には、CHECK\_DELAY から受け取った送信時刻をそのまま付つけて送信する。
|
|
40 CHECK\_DELAY を受け取った各 node は、
|
|
41 CHECK\_DELAY\_REPLY を接続している親 node に送信する。
|
|
42
|
|
43 CHECK\_DELAY\_REPLY を受け取った root は、
|
|
44 メッセージの伝達にどれだけの時間がかかったかを計算する。
|
|
45
|
|
46 計算方法を以下のソースコード\ref{calc}に記述する。
|
|
47 各 node にデータを下ろす際も、root にデータが上る際も、
|
|
48 木を伝い受け渡されている。
|
|
49 なので、データが root から末端 node に伝わる時間は、
|
|
50 CHECK\_DELAY を送信した時間と、
|
|
51 CHECK\_DELAY\_REPLY を受信した時間の半分であるといえる。
|
|
52
|
|
53 % あとでコメントアウトはずす
|
|
54 \begin{lstlisting}[caption=遅延時間の計算方法,label=calc]
|
|
55 Long delay = System.currentTimeMillis() - time;
|
|
56 double halfDelay = (double) delay / 2;
|
|
57 \end{lstlisting}
|
|
58
|
|
59
|
|
60 \section{depth毎の遅延結果}
|
|
61
|
|
62 バイナリツリーで木を構成した場合、
|
|
63 node 数が34台だと深さが5となる。
|
|
64 各木構造の階層毎に、メッセージの伝搬にかかった時間を測定した。
|
|
65
|
|
66 図\ref{fig:test}は遅延の分布を示したヒストグラムである。
|
|
67 X軸はメッセージ伝達にかかった秒数(ms)、
|
|
68 Y軸は CHECK\_DELAY\_REPLY を送信した node の割合を表している。
|
|
69
|
|
70 ほとんどのメッセージの伝達は 0.0 〜 4.0 ミリ秒内に収まっている。
|
|
71 木の段数毎に、メッセージ伝達速度の差が生じている。
|
|
72 深い段数の node ほど、メッセージ伝達速度が落ちている。
|
|
73
|
|
74
|
|
75 \begin{figure}[htpd]
|
|
76 \begin{center}
|
|
77 \includegraphics[scale=0.8]{./images/Test/test.pdf}
|
1
|
78 \end{center}
|
|
79 \caption{step1}
|
4
|
80 \label{fig:test}
|
1
|
81 \end{figure}
|
|
82
|
|
83 %\begin{figure}[htpd]
|
|
84 % \begin{center}
|
|
85 % \includegraphics[scale=1.0]{./images/Test/step2.eps}
|
|
86 % \end{center}
|
|
87 % \caption{step2}
|
|
88 % \label{fig:gpuarch}
|
|
89 %\end{figure}
|
|
90 %
|
|
91 %\begin{figure}[htpd]
|
|
92 % \begin{center}
|
|
93 % \includegraphics[scale=1.0]{./images/Test/step3.eps}
|
|
94 % \end{center}
|
|
95 % \caption{step3}
|
|
96 % \label{fig:gpuarch}
|
|
97 %\end{figure}
|
|
98 %
|
|
99 %\begin{figure}[htpd]
|
|
100 % \begin{center}
|
|
101 % \includegraphics[scale=1.0]{./images/Test/step4.eps}
|
|
102 % \end{center}
|
|
103 % \caption{step1}
|
|
104 % \label{fig:gpuarch}
|
|
105 %\end{figure}
|