Mercurial > hg > Papers > 2008 > fuchita-master
changeset 8:f249657a801d
Chap5 fix
author | fuchita |
---|---|
date | Thu, 14 Feb 2008 18:11:08 +0900 |
parents | 6f69ee7b4714 |
children | ed91c5efa369 |
files | paper/evaluation.tex paper/master_paper.aux paper/master_paper.lof paper/master_paper.log paper/master_paper.toc |
diffstat | 5 files changed, 162 insertions(+), 50 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/evaluation.tex Thu Feb 14 09:23:23 2008 +0900 +++ b/paper/evaluation.tex Thu Feb 14 18:11:08 2008 +0900 @@ -336,6 +336,7 @@ \end{center} \end{figure} +%\newpage \section{通信状態デバッグインターフェースの実装} ここまで、Federated Lindaを用いた分散環境環境における分散デバッグインターフェースの機能の検討 を行った。その結果、Federated Lindaで用いられるべき分散デバッグインターフェースはスナップショット @@ -349,15 +350,65 @@ これを解消する為にはProtocol Engineの内部状態をステートレスに実装し、その挙動はやり取りするXML に全て埋め込むという実装が求められる。 -本論文ではスナップショットではなく、前述した分散アルゴリズムにおいてデバッグすべき対象のうちから、 +本論文では、前述した分散アルゴリズムにおいてデバッグすべき対象のうちから、 通信の集中を検知するデバッグインターフェースについて実装を行った。 このデバッグインターフェースを用いる事により、3章で提示したCompact Routingを用いるFederated Linda において、meshトポロジで起こったデバッグ困難な通信の集中を伴う状態の検知を行う事を目標とする。 -以下にその実装の詳細を示す。 - +以下にその詳細を示す。 \subsection{Java版Linda サーバーへの機能実装} +通信状態デバッグインターフェースとしてJava版のタプルサーバーへの機能拡張を行った。 +この実装はFederated Lindaの通信を止めずに、通信のログを取りたい時に各Java版Lindaサーバーへデバッグ +タスクを投入し、デバッグタスクを切断してもFederated Lindaの通信状況は変化せず続く、というように +Federated Lindaを動かしながらのConnect,Disconnectに対応する。 +図\ref{comdebug1}にその様子を示す。 +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=16cm]{fig/pdf/comdebug1.pdf} +\caption{デバッグタスクのConnect,Disconnect処理} +\label{comdebug1} +\end{center} +\end{figure} + +Federated Lindaの通信を止める事無く通信のデバッグタスクを投入できることで、通信ログが欲しい +状況に適宜、通信デバッグタスクを投入することができる。また、Federated Linda全体の通信状態の +遷移が知りたい場合は、Federated Lindaを構成するLindaサーバーの全てに対して通信デバッグタスクを +投入し、Federated Linda内部のシーケンス番号や時系列情報を添付したログにおいてその整合を行う。 +図\ref{comdebug2}に実装したデバッグインターフェースの動作の様子を示す。 +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=16cm]{fig/pdf/comdebug2.pdf} +\caption{通信状態のデバッグインターフェース} +\label{comdebug2} +\end{center} +\end{figure} + +\newpage + \subsection{実装の詳細} +今回、Java版タプルサーバーへの機能拡張として追加した、通信状態のデバッグインターフェースは、 +以下のクラスから構成される。 +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=14cm]{fig/pdf/comdebugClass.pdf} +\caption{通信デバッグインターフェースのクラス図} +\label{comdebugClass} +\end{center} +\end{figure} + +class ComDebugはJava版Lindaサーバーにおける通信状態のデバッグインターフェースを提供する。 +通信状態のログはハッシュテーブルであるCom\_Hashtableに蓄えられ、デバッグインターフェースの +接続先を表すリンクドリストのReport\_Channellistに対して、Report()メソッドを用いてデバッグクライア +ントにLindaのタプルとして送信される。 + +class ComDebug\_Clientは通信状態のデバッグインターフェースにおけるクライアントプログラムであり、 +その実行時にLindaサーバーのホストネームとポート番号を指定して接続する。クライアントプログラムの +通信ループはclass FederatedLinda.java, class PSXlinda.javaで定義されたSelectorベースのLinda APIの +通信ループを用いる。クライアントプログラムが受け取る通信パケットはLindaのタプルデータである。 + +\subsubsection{機能拡張を行ったLindaサーバーの通信ループ} +以下に、今回の通信状態デバッグインターフェース拡張を行った、Java版Lindaサーバーの通信ループ +を示す。 \begin{center} \begin{itembox}[l]{ComDebug機能拡張部分} {\footnotesize @@ -397,9 +448,37 @@ } \end{itembox} \end{center} +通信ループ内において、通信状態のデバッグインターフェースを受け付けるのは要求があったidが、 +PRIVILEGED(特権的な)\_IDとして確保した領域であった場合である。今回は1〜65535までのタプルスペースID +のうちidが32769以降の場合において、その要求をデバッグインターフェースの為の特権IDとして用いた。 +特権IDでの要求を検知した場合、ComDebug.addChannelを行い、通信状態の報告を行うセッションのリストに +追加を行う。また、報告を行っていたセッションが切断された場合はコネクションのクローズ処理と共に、 +reportCh\_remove()メソッドによって報告セッションリストから対象の削除を行う。これにより、 +デバッグインターフェースの動的な接続と切断が実現される。 + +ComDebug.Com\_inc(),ComDebug\_Report()においては通信状態の更新と報告を行う。 +これらのコードの追加によって、Java版Lindaサーバーへの通信状態のデバッグインターフェース機能拡張 +を行った。 + + \subsection{視覚的に通信状態を確認するツールの開発} +Lindaサーバーへの通信状態デバッグ機能の追加と、その為のクライアントプログラムによって、Federated L +indaの通信状態のログを取得する事ができた。しかし、取得したログはそれだけではどのような通信状態の +変化があったのかを直感的に知る事は難しい。よって、前述したデバッグインターフェースを用いて取得した +ログを視覚的に確認できるツールの開発を行った。 + +このツールは、Federated LindaのConfigurationに用いたOmni Graffleファイル、同じくConfigurationに +用いたノードリスト、そしてデバッグインターフェースで取得した通信状態のログ、をもとにその通信状態 +をモニターする為のツールである。図ref{}にその様子を示す。 + +\begin{figure}[htbp] +\begin{center} +\includegraphics[width=14cm]{fig/pdf/comdeb.pdf} +\caption{通信状態の表示ツール利用} +\label{comdeb} +\end{center} +\end{figure} - \subsection{視覚的に通信状態を確認するツールの開発} \begin{figure}[htbp] \begin{center} \includegraphics[width=10cm]{fig/pdf/visual01.pdf}
--- a/paper/master_paper.aux Thu Feb 14 09:23:23 2008 +0900 +++ b/paper/master_paper.aux Thu Feb 14 18:11:08 2008 +0900 @@ -157,19 +157,29 @@ \newlabel{FDLindaDebug}{{5.4}{59}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}通信状態デバッグインターフェースの実装}{59}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Java版Linda サーバーへの機能実装}{60}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}視覚的に通信状態を確認するツールの開発}{60}} -\@writefile{toc}{\contentsline {section}{\numberline {5.4}Compact Rotingの実装を用いた評価}{60}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}通信量のスケーラビリティ}{60}} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}評価}{60}} -\@writefile{toc}{\contentsline {section}{\numberline {5.5}考察}{60}} -\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces 通信量のグラフィカルな表示ツール}}{61}} -\newlabel{visual01}{{5.5}{61}} -\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}結論}{62}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces デバッグタスクのConnect,Disconnect処理}}{60}} +\newlabel{comdebug1}{{5.5}{60}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces 通信状態のデバッグインターフェース}}{61}} +\newlabel{comdebug2}{{5.6}{61}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}実装の詳細}{61}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces 通信デバッグインターフェースのクラス図}}{61}} +\newlabel{comdebugClass}{{5.7}{61}} +\@writefile{toc}{\contentsline {subsubsection}{機能拡張を行ったLindaサーバーの通信ループ}{62}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}視覚的に通信状態を確認するツールの開発}{63}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces 通信状態の表示ツール利用}}{63}} +\newlabel{comdeb}{{5.8}{63}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces 通信量のグラフィカルな表示ツール}}{64}} +\newlabel{visual01}{{5.9}{64}} +\@writefile{toc}{\contentsline {section}{\numberline {5.4}Compact Rotingの実装を用いた評価}{64}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}通信量のスケーラビリティ}{64}} +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}評価}{64}} +\@writefile{toc}{\contentsline {section}{\numberline {5.5}考察}{64}} +\@writefile{toc}{\contentsline {chapter}{\numberline {第6章}結論}{65}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} -\@writefile{toc}{\contentsline {section}{\numberline {6.1}まとめ}{62}} -\@writefile{toc}{\contentsline {section}{\numberline {6.2}今後の課題}{62}} -\@writefile{toc}{\contentsline {chapter}{謝辞}{63}} +\@writefile{toc}{\contentsline {section}{\numberline {6.1}まとめ}{65}} +\@writefile{toc}{\contentsline {section}{\numberline {6.2}今後の課題}{65}} +\@writefile{toc}{\contentsline {chapter}{謝辞}{66}} \bibcite{linda}{1} \bibcite{globalid}{2} \bibcite{dinamicrouting}{3} @@ -183,5 +193,5 @@ \bibcite{overlayweaver}{11} \bibcite{tomcat}{12} \bibcite{grizzly}{13} -\@writefile{toc}{\contentsline {chapter}{参考文献}{64}} -\@writefile{toc}{\contentsline {chapter}{発表文献}{65}} +\@writefile{toc}{\contentsline {chapter}{参考文献}{67}} +\@writefile{toc}{\contentsline {chapter}{発表文献}{68}}
--- a/paper/master_paper.lof Thu Feb 14 09:23:23 2008 +0900 +++ b/paper/master_paper.lof Thu Feb 14 18:11:08 2008 +0900 @@ -31,5 +31,9 @@ \contentsline {figure}{\numberline {5.2}{\ignorespaces 単体ではデバッグが困難なFederated Lindaの通信}}{53} \contentsline {figure}{\numberline {5.3}{\ignorespaces スナップショット・ログを用いたデバッグ}}{58} \contentsline {figure}{\numberline {5.4}{\ignorespaces スケーラビリティを意識したデバッグインターフェース}}{59} -\contentsline {figure}{\numberline {5.5}{\ignorespaces 通信量のグラフィカルな表示ツール}}{61} +\contentsline {figure}{\numberline {5.5}{\ignorespaces デバッグタスクのConnect,Disconnect処理}}{60} +\contentsline {figure}{\numberline {5.6}{\ignorespaces 通信状態のデバッグインターフェース}}{61} +\contentsline {figure}{\numberline {5.7}{\ignorespaces 通信デバッグインターフェースのクラス図}}{61} +\contentsline {figure}{\numberline {5.8}{\ignorespaces 通信状態の表示ツール利用}}{63} +\contentsline {figure}{\numberline {5.9}{\ignorespaces 通信量のグラフィカルな表示ツール}}{64} \addvspace {10\p@ }
--- a/paper/master_paper.log Thu Feb 14 09:23:23 2008 +0900 +++ b/paper/master_paper.log Thu Feb 14 18:11:08 2008 +0900 @@ -1,4 +1,4 @@ -This is pTeX, Version 3.14159-p3.1.5 (euc) (Web2C 7.4.5) (format=platex-euc 2005.5.19) 14 FEB 2008 09:48 +This is pTeX, Version 3.14159-p3.1.5 (euc) (Web2C 7.4.5) (format=platex-euc 2005.5.19) 14 FEB 2008 18:38 **master_paper (./master_paper.tex pLaTeX2e <2005/01/04>+0 (based on LaTeX2e <2001/06/01> patch level 0) @@ -193,21 +193,22 @@ File: emblem-bitmap.eps Graphic file (type eps) -<emblem-bitmap.eps> [2] (./master_paper.lof) +<emblem-bitmap.eps> [2] (./master_paper.lof [3 + +]) \tf@lof=\write5 \openout5 = `master_paper.lof'. - [3 - -] (./master_paper.lot) +File: emblem-bitmap.eps Graphic file (type eps) + <emblem-bitmap.eps> [4] +(./master_paper.lot) \tf@lot=\write6 \openout6 = `master_paper.lot'. - -(./introduction.tex [4 + (./introduction.tex [5 ] -第 1 章(vページ) +第 1 章(viページ) LaTeX Font Info: Font shape `JT1/mc/bx/n' in size <17.28> not available (Font) Font shape `JT1/gt/m/n' tried instead on input line 8. LaTeX Font Info: Font shape `JY1/mc/bx/n' in size <17.28> not available @@ -522,26 +523,42 @@ <emblem-bitmap.eps> [58] File: fig/pdf/FDLindaDebug.pdf Graphic file (type eps) <fig/pdf/FDLindaDebug.pdf> +File: fig/pdf/comdebug1.pdf Graphic file (type eps) + <fig/pdf/comdebug1.pdf> +File: emblem-bitmap.eps Graphic file (type eps) + +<emblem-bitmap.eps> [59] +File: fig/pdf/comdebug2.pdf Graphic file (type eps) + <fig/pdf/comdebug2.pdf> +File: emblem-bitmap.eps Graphic file (type eps) + <emblem-bitmap.eps> [60] +File: fig/pdf/comdebugClass.pdf Graphic file (type eps) + +<fig/pdf/comdebugClass.pdf> +File: emblem-bitmap.eps Graphic file (type eps) + <emblem-bitmap.eps> [61] File: emblem-bitmap.eps Graphic file (type eps) <emblem-bitmap.eps> -[59] +[62] +File: fig/pdf/comdeb.pdf Graphic file (type eps) + <fig/pdf/comdeb.pdf> File: fig/pdf/visual01.pdf Graphic file (type eps) <fig/pdf/visual01.pdf>) (./conclusion.tex File: emblem-bitmap.eps Graphic file (type eps) - <emblem-bitmap.eps> [60] -File: emblem-bitmap.eps Graphic file (type eps) -<emblem-bitmap.eps> [61] -第 6 章(62ページ) -) (./thanx.tex [62 +<emblem-bitmap.eps> [63] +File: emblem-bitmap.eps Graphic file (type eps) + <emblem-bitmap.eps> [64] +第 6 章(65ページ) +) (./thanx.tex [65 -]) (./bibliography.tex [63 +]) (./bibliography.tex [66 -]) (./appendix.tex [64 +]) (./appendix.tex [67 ]) No file master_paper.ind. -[65 +[68 ] (./master_paper.aux) @@ -549,12 +566,12 @@ ) Here is how much of TeX's memory you used: - 984 strings out of 95593 - 12277 string characters out of 1192020 + 996 strings out of 95593 + 12460 string characters out of 1192020 68055 words of memory out of 1000001 - 4047 multiletter control sequences out of 10000+50000 + 4055 multiletter control sequences out of 10000+50000 19687 words of font info for 78 fonts, out of 500000 for 1000 14 hyphenation exceptions out of 1000 33i,12n,24p,300b,631s stack positions out of 1500i,500n,5000p,200000b,5000s -Output written on master_paper.dvi (71 pages, 229684 bytes). +Output written on master_paper.dvi (75 pages, 239864 bytes).
--- a/paper/master_paper.toc Thu Feb 14 09:23:23 2008 +0900 +++ b/paper/master_paper.toc Thu Feb 14 18:11:08 2008 +0900 @@ -81,14 +81,16 @@ \contentsline {subsection}{\numberline {5.2.3}分散デバッグ機能のスケーラビリティ}{58} \contentsline {section}{\numberline {5.3}通信状態デバッグインターフェースの実装}{59} \contentsline {subsection}{\numberline {5.3.1}Java版Linda サーバーへの機能実装}{60} -\contentsline {subsection}{\numberline {5.3.2}視覚的に通信状態を確認するツールの開発}{60} -\contentsline {section}{\numberline {5.4}Compact Rotingの実装を用いた評価}{60} -\contentsline {subsection}{\numberline {5.4.1}通信量のスケーラビリティ}{60} -\contentsline {subsection}{\numberline {5.4.2}評価}{60} -\contentsline {section}{\numberline {5.5}考察}{60} -\contentsline {chapter}{\numberline {第6章}結論}{62} -\contentsline {section}{\numberline {6.1}まとめ}{62} -\contentsline {section}{\numberline {6.2}今後の課題}{62} -\contentsline {chapter}{謝辞}{63} -\contentsline {chapter}{参考文献}{64} -\contentsline {chapter}{発表文献}{65} +\contentsline {subsection}{\numberline {5.3.2}実装の詳細}{61} +\contentsline {subsubsection}{機能拡張を行ったLindaサーバーの通信ループ}{62} +\contentsline {subsection}{\numberline {5.3.3}視覚的に通信状態を確認するツールの開発}{63} +\contentsline {section}{\numberline {5.4}Compact Rotingの実装を用いた評価}{64} +\contentsline {subsection}{\numberline {5.4.1}通信量のスケーラビリティ}{64} +\contentsline {subsection}{\numberline {5.4.2}評価}{64} +\contentsline {section}{\numberline {5.5}考察}{64} +\contentsline {chapter}{\numberline {第6章}結論}{65} +\contentsline {section}{\numberline {6.1}まとめ}{65} +\contentsline {section}{\numberline {6.2}今後の課題}{65} +\contentsline {chapter}{謝辞}{66} +\contentsline {chapter}{参考文献}{67} +\contentsline {chapter}{発表文献}{68}