Mercurial > hg > Papers > 2015 > oc-thesis
view paper/chapter5.tex @ 14:6d9c4f5f08bb
update abstract
author | oc |
---|---|
date | Tue, 17 Feb 2015 12:29:31 +0900 |
parents | 16c5f065f7e7 |
children |
line wrap: on
line source
\chapter{TreeVNC の評価} \section{木の深さによるメッセージ伝達の遅延} VNCServer から受信する画像データ、 TreeVNC で扱われるメッセージ通信は構成された木を伝って伝達される。 接続する人数が増える毎に木の段数は増えていく。 そこで root から木の末端の node まで、 メッセージが遅延することなく伝達できているかを検証する実験を行った。 \section{実験環境} 授業を受講している学生が TreeVNC を使用した状態で実験を行った。 TreeVNC には最大で34名が接続していた。 \section{メッセージを使用した実測} TreeVNC を伝搬するメッセージに、CHECK\_DELAY・CHECK\_DELAY\_REPLY を追加した。 CHECK\_DELAY は root から node の末端まで伝達するメッセージ(図\ref{fig:checkdelay}, 左)、 CHECK\_DELAY\_REPLY は各 node から root まで伝達するメッセージ(図\ref{fig:checkdelay}, 右)である。 % heart beat 代わりにも使える等の違ったメリットも書く? % デバッグに使用できたとかって \begin{figure}[htpd] \begin{center} \includegraphics[scale=0.6]{./images/Test/checkDelay.pdf} \end{center} \caption{CHECH\_DELAY, CHECK\_DELAY\_REPLY} \label{fig:checkdelay} \end{figure} \newpage CHECK\_DELAY message は、送信時刻を付けて送信する。 root から CHECK\_DELAY 送信し、 末端 node まで各 node を伝いながら伝達して行く。 CHECK\_DELAY\_REPLY には、CHECK\_DELAY から受け取った送信時刻をそのまま付つけて送信する。 CHECK\_DELAY を受け取った各 node は、 CHECK\_DELAY\_REPLY を接続している親 node に送信する。 CHECK\_DELAY\_REPLY を受け取った root は、 メッセージの伝達にどれだけの時間がかかったかを計算する。 計算方法を以下のソースコード\ref{calc}に記述する。 各 node にデータを下ろす際も、root にデータが上る際も、 木を伝い受け渡されている。 なので、データが root から末端 node に伝わる時間は、 CHECK\_DELAY を送信した時間と、 CHECK\_DELAY\_REPLY を受信した時間の半分であるといえる。 % あとでコメントアウトはずす \begin{lstlisting}[caption=遅延時間の計算方法,label=calc] Long delay = System.currentTimeMillis() - time; double halfDelay = (double) delay / 2; \end{lstlisting} \section{depth毎の遅延結果} バイナリツリーで木を構成した場合、 node 数が34台だと深さが5となる。 各木構造の階層毎に、メッセージの伝搬にかかった時間を測定した。 図\ref{fig:test}は遅延の分布を示したヒストグラムである。 X軸はメッセージ伝達にかかった秒数(ms)、 Y軸は CHECK\_DELAY\_REPLY を送信した node の割合を表している。 ほとんどのメッセージの伝達は 0.0 〜 4.0 ミリ秒内に収まっている。 木の段数毎に、メッセージ伝達速度の差が生じている。 深い段数の node ほど、メッセージ伝達速度が落ちている。 \begin{figure}[htpd] \begin{center} \includegraphics[scale=0.8]{./images/Test/test.pdf} \end{center} \caption{step1} \label{fig:test} \end{figure} %\begin{figure}[htpd] % \begin{center} % \includegraphics[scale=1.0]{./images/Test/step2.eps} % \end{center} % \caption{step2} % \label{fig:gpuarch} %\end{figure} % %\begin{figure}[htpd] % \begin{center} % \includegraphics[scale=1.0]{./images/Test/step3.eps} % \end{center} % \caption{step3} % \label{fig:gpuarch} %\end{figure} % %\begin{figure}[htpd] % \begin{center} % \includegraphics[scale=1.0]{./images/Test/step4.eps} % \end{center} % \caption{step1} % \label{fig:gpuarch} %\end{figure}