diff paper/chapter3.tex @ 20:a7fbd5db80fb

chapter3
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Thu, 23 Jan 2014 15:33:54 +0900
parents 90a916194e59
children a4dfb70496ee
line wrap: on
line diff
--- a/paper/chapter3.tex	Wed Jan 22 19:54:58 2014 +0900
+++ b/paper/chapter3.tex	Thu Jan 23 15:33:54 2014 +0900
@@ -45,11 +45,18 @@
 % DataSegment, CodeSegment はなしにしたほうがいいかもしれない. Alice が論文の主題じゃないから
 % それとこの2つの説明をするとしたら結構な量になる
 
-\section{Aliceによるトポロジーの形成}
-Alice はサーバノードによるネットワークトポロジー形成の機能を持つ.
-トポロジーの内容は dot ファイルに記述される.
-以下に, サーバノードの数が5で, 2分木ツリー構造を形成する dot ファイル
-の例を\ref{src:alice_dot}に示す.
+\section{Alice のトポロジーマネージャーの利用}
+Alice はサーバノード同士によるネットワークトポロジー形成の機能を持つ.
+トポロジーマネージャーの起動は\ref{src:alice_dot}の様にポート番号の指定と dot ファイルを引数として渡すことで行う.
+(\ref{src:alice_ntm_run}).
+\begin{lstlisting}[frame=lrbt,label=src:alice_ntm_run,caption=Alice によるネットワークトポロジーマネージャーの起動,numbers=left]
+% java -cp Alice.jar alice.topology.manager.TopologyManager -p 10000 -conf ./topology/tree5.dot
+\end{lstlisting}
+
+
+ポート番号は Alice により記述された並列分散プログラムの起動時に渡す必要がある.
+dot ファイルには, トポロジーをどのように形成するかが書かれている.
+以下に, サーバノード数5で, 2分木ツリー構造を形成する dot ファイルの例を示す(\ref{src:alice_dot}). 
 \begin{lstlisting}[frame=lrbt,label=src:alice_dot,caption=ネットワークトポロジー設定用 dot ファイル,numbers=left]
 % cat tree5.dot 
 digraph test {
@@ -64,30 +71,22 @@
 }
 \end{lstlisting}
 
-Alice のトポロジーマネージャーを起動する場合は\ref{src:alice_dot}の様にファイルを引数として渡す.
-
-(\ref{src:alice_ntm_run}).
-\begin{lstlisting}[frame=lrbt,label=src:alice_ntm_run,caption=Alice によるネットワークトポロジーマネージャーの起動,numbers=left]
-% java -cp Alice.jar alice.topology.manager.TopologyManager -p 10000 -conf /home/one/hg/nobuyasu/workspace/scripts/topology/tree5.dot
-\end{lstlisting}
-
-
-
+node0 や node1 はサーバノードの名前を示す.
+サーバノードの間にはラベルがあり, Alice 上ではこのラベル
+に指定される文字列(キー)を使うことで他のサーバノードのデータへアクセスすることができる.
+node0 -> node1 はサーバノード同士の繋がりを示している.
+次に続く label="child1" は, node0 が node1 のデータに"child1"という文字列を使うことでアクセス
+できることを示す.
 
-\begin{lstlisting}[frame=lrbt,label=src:create_jungle,caption=Alice を使用してのトポロジー形成,numbers=left]
-public static void main( String[] args ) throws Exception
-{
-  RemoteConfig conf = new RemoteConfig(args);
-  new TopologyNode(conf, new StartBBSCodeSegment(args, conf.bbsPort));
-}
-\end{lstlisting}
+dot ファイルを読み込んだ Alice のトポロジーマネージャーに対して, サーバーノードは
+誰に接続を行えばよいかを訪ねる.
+トポロジーマネージャーは訪ねてきたサーバノードに対してノード番号を割り振り, dot ファイル
+に記述している通りにサーバノード同士が接続を行うよう指示をだす.
 
-
+トポロジーマネージャーは接続要求先を聞いてくるサーバノードに対して名前を割り振り, 接続相手を伝える.
+dot ファイル\ref{src:alice_dot}により形成されるトポロジーを図\ref{fig:tree_topology}に示す.
 
-トポロジーマネージャーは dot ファイルを読み込み, 接続要求をしてくるサーバノード
-に, どのサーバノードにつなげればよいかを教える.
-サーバノードには番号が割り振られ, 接続要求が先にきたもの程若い番号が割り当てられる.
-これにより形成されるトポロジーを図\ref{fig:tree_topology}に示す.
+\newpage
 
 \begin{figure}[htpb]
   \begin{center}
@@ -97,17 +96,31 @@
   \end{center}
 \end{figure}
 
-\newpage
 
 矢印に書かれている文字列は, 相手のデータにアクセスするキーを示す.
 "child1", "child2", "parent" というキーを使うことで別のサーバノードにあるデータを取得することができる.
 %子共となるノードは "parent" キーにより親の DSM (Remote DSM) にアクセスすることができる.
 %また, 親も子供となるノードの DSM に対して "child1" や "child2" キーによりアクセスすることが可能となる.
 
+トポロジーマネージャーに最初に接続要求を行う並列分散プログラム側は, 次のように記述する(\ref{src:alice_start})
+\begin{lstlisting}[frame=lrbt,label=src:alice_start,caption=Alice を使用してのトポロジー形成,numbers=left]
+public static void main( String[] args ) throws Exception
+{
+  RemoteConfig conf = new RemoteConfig(args);
+  new TopologyNode(conf, new StartBBSCodeSegment(args, conf.bbsPort));
+}
+\end{lstlisting}
+
+そして, プログラムの起動時にトポロジーマネージャーが動いているサーバの
+
+
+
+\begin{comment}
 \subsection{トポロジー用 dot ファイル形成スクリプト}
 Alice ではトポロジー形成用スクリプトが用意されている.
-ノードの数と子供の数を指定するだけで dot ファイルの作成が行える.
+スクリプトを使用することで, ノードの数を指定するだけで dot ファイルの作成が行える.
 また, ツリーに限らずリングやメッシュといったトポロジーの形成も行うことができる.
+\end{comment}
 
 % MessagePackの説明もここに簡単に入れたほうがいいかも.