annotate paper/chapter3.tex @ 16:e16dad3b80fc

Writed topology manager
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Mon, 20 Jan 2014 05:44:51 +0900
parents 7df3a9a13b22
children dfa2fd4658b2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
d42d2acf5d1d Added some tex files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 \chapter{Jungleの分散実装}
10
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
2 \section{TreeOperationLogを用いての分散データベースの実装}
12
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
3 Jungle でデータ扱うと TreeOperationLog として残ることは述べた.
10
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
4 この TreeOperationLog を他のサーバへと送り, Jungle の編集を行って
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
5 貰うことでデータの分散を行うことができる.
12
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
6 ここで問題になることはネットワークトポロジーの形成方法であった.
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
7
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
8 Jungle で使用するネットワークトポロジーはツリー型を考えている.
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
9 しかし, リング型といった他のネットワークトポロジーによる実装に関しても試す余地はある.
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
10 自由にネットワークトポロジーの形成を行うことができる必要があった.
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
11
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
12 そこで当研究室で開発を行っている並列分散フレームワークである Alice を使用することにした.
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
13 Alice により提供されるネットワークトポロジー形成を用いて TreeOperationLog を各サーバノードへ
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
14 配ることで並列分散フレームワークの実装を行う.
11
b87deec129df Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
15
12
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
16 % トポロジー形成の説明をする. 重要さなども。
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
17 % トポロジーの形成は容易ではない.
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
18 % Alice が必要な機能を提供してくれることを述べる
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
19 % Alice はトポロジー形成の機能を提供している
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
20 % トポロジー間でのデータの受け渡す機能も提供している
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
21 \begin{figure}[htpb]
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
22 \begin{minipage}{0.5\hsize}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
23 \begin{center}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
24 \includegraphics[scale=0.7]{figures/network_topology_ring.pdf}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
25 \caption{リング型のNetwork Topology}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
26 \label{fig:topology_ring}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
27 \end{center}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
28 \end{minipage}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
29 \begin{minipage}{0.5\hsize}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
30 \begin{center}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
31 \includegraphics[scale=0.7]{figures/network_topology_tree.pdf}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
32 \caption{ツリー型のNetwork Topology}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
33 \label{fig:topology_tree}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
34 \end{center}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
35 \end{minipage}
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
36 \end{figure}
11
b87deec129df Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
37
b87deec129df Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
38 \section{並列分散フレームワークAlice}
15
7df3a9a13b22 Writed research
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
39 Alice は当研究室で開発している並列分散フレームワークである.
16
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
40 Alice はデータを DataSegment, コードを CodeSegment という単位で扱うプログラミングを提供している.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
41 DataSegment として扱われるデータは
15
7df3a9a13b22 Writed research
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
42
10
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
43
16
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
44
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
45 % DataSegment, CodeSegment はなしにしたほうがいいかもしれない. Alice が論文の主題じゃないから
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
46 % それとこの2つの説明をするとしたら結構な量になる
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
47
12
449ddefdfa32 Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
48 \section{Aliceによるトポロジーの形成}
16
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
49 Alice はサーバノードによるネットワークトポロジー形成の機能を持つ.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
50 トポロジーの内容を dot ファイルに記述される.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
51 以下に, サーバノードの数が5で, 2分木ツリー構造を形成する dot ファイル
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
52 の例を示す.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
53 \begin{verbatim}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
54 digraph test {
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
55 node0 -> node1 [label="child1"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
56 node0 -> node2 [label="child2"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
57 node1 -> node0 [label="parent"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
58 node1 -> node3 [label="child1"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
59 node1 -> node4 [label="child2"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
60 node2 -> node0 [label="parent"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
61 node3 -> node1 [label="parent"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
62 node4 -> node1 [label="parent"]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
63 }
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
64 \end{verbatim}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
65
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
66 トポロジーマネージャーは dot ファイルを読み込み, 接続要求をしてくるサーバノード
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
67 に, どのサーバノードにつなげればよいかを教える.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
68 サーバノードには番号が割り振られ, 接続要求が先にきたもの程若い番号が割り当てられる.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
69 これにより形成されるトポロジーを図\ref{fig:tree_topology}に示す.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
70
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
71 \begin{figure}[htpb]
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
72 \begin{center}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
73 \includegraphics[scale=0.70]{figures/tree_topology.pdf}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
74 \caption{Alice によるネットワークトポロジー形成}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
75 \label{fig:tree_topology}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
76 \end{center}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
77 \end{figure}
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
78
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
79 子共となるノードは "parent" キーにより親の DSM (Remote DSM) にアクセスすることができる.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
80 また, 親も子供となるノードの DSM に対して "child1" や "child2" キーによりアクセスすることが可能となる.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
81
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
82 Alice ではスクリプトが用意されており, ノードの数と子供の数を指定するだけで dot ファイルの作成が行える.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
83 また, ツリーに限らずリングやメッシュといったトポロジーの形成ももちろん可能である.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
84 このように, Alice では比較的楽にトポロジーの形成が行える.
10
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
85
11
b87deec129df Added images
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 10
diff changeset
86
16
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
87 % MessagePackの説明もここに簡単に入れたほうがいいかも.
4
d42d2acf5d1d Added some tex files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 \section{Aliceを用いての分散実装}
d42d2acf5d1d Added some tex files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 \section{ログのシリアライズ}
16
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
90 ログのシリアライズについて述べる.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
91 シリアライズとは, データをネットワーク上に流しても良い形式に変換することである.
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
92
e16dad3b80fc Writed topology manager
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
93
4
d42d2acf5d1d Added some tex files
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 \section{Jungleの永続性の実装}
10
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
95 \subsection{マージの実装}
02c7fc1cda10 Writed description of TreeOperationLog
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
96