comparison paper/chapter2.tex @ 34:7a829a3c2e19

Added topology figures
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 28 Jan 2014 01:36:31 +0900
parents a843327cde83
children 2849dc0ea23a
comparison
equal deleted inserted replaced
33:a843327cde83 34:7a829a3c2e19
229 \end{center} 229 \end{center}
230 \end{figure} 230 \end{figure}
231 231
232 \newpage 232 \newpage
233 233
234 \section{ネットワークトポロジーの形成とデータ分散の設計} 234 \section{ネットワークトポロジーの形成}
235 分散管理システムを参考に Jungle でもそれぞれのデータベースが独立に 235 分散管理システムを参考に Jungle でもそれぞれのデータベースが独立に
236 動くようにしたい. 236 動くようにしたい.
237 そのために必要なことはトポロジーの形成と, サーバノード間でのデータアクセス機構である. 237 そのために必要なことはトポロジーの形成と, サーバノード間でのデータアクセス機構である.
238 また, データ分散のために形成したトポロジー上で扱うデータを決めなければならない. 238 また, データ分散のために形成したトポロジー上で扱うデータを決めなければならない.
239 239
240
240 \subsection{ツリートポロジーの形成} 241 \subsection{ツリートポロジーの形成}
241 分散データーベス Jungle で形成されるネットワークトポロジーはツリー構造を想定している. 242 分散データーベス Jungle で形成されるネットワークトポロジーはツリー構造を想定している.
242 ツリー構造ならば, データの整合性をとる場合, 一度トップまでデータを伝搬させることで行える. 243 ツリー構造ならば, データの整合性をとる場合, 一度トップまでデータを伝搬させることで行える.
243 トップもしくはトップまででデータ編集の衝突が発生したらマージを行い, マージの結果を改めて伝搬すれば 244 トップもしくはトップまでの間にあるサーバノードでデータ伝搬中に衝突が発生したらマージを行い, マージの結果を改めて伝搬すれば
244 よいからである. 245 よいからである.
245 また, リング型, スター型, メッシュ側ではデータ編集の結果を他サーバノードに流すとき 246 また, リング型, スター型, メッシュ側ではデータ編集の結果を他サーバノードに流すとき
246 流したデータが自分自身にくることにより発生するループに気をつける必要がある. 247 流したデータが自分自身にくることにより発生するループに気をつける必要がある.
247 ツリー構造の場合は, サーバノード同士の繋がりで閉路が無い. 248 ツリー構造の場合は, サーバノード同士の繋がりで閉路が無い.
248 そのため, 自分自身が行ったデータ編集の履歴を繋がっているノードに送信するだけですむ. 249 そのため, 自分自身が行ったデータ編集の履歴を繋がっているノードに送信するだけですむ.
249 このルーティングの方式はスプリットホライズンと呼ばれるものである. 250 このルーティングの方式はスプリットホライズンと呼ばれるものである.
250 251
252 \begin{figure}[htpb]
253 \begin{center}
254 \includegraphics[scale=0.70]{figures/network_topology_tree.pdf}
255 \caption{ツリー型のNetwork Topology}
256 \label{fig:topology_tree}
257 \end{center}
258 \end{figure}
259
260
261 \subsection{トポロジーの形成手段}
262 % なぜツリー型なのか説明をしたほうがいい?
263 % マージの利用のためツリー型?
264 Jungle で使用するネットワークトポロジーはツリー型を考えているが, リング型やメッシュ型といった
265 他のネットワークトポロジーによる実装に関しても試す余地はある.
266 そのため, ツリーだけでなく, 自由にネットワークトポロジーの形成を行えるようにしたい.
267
268 そこで当研究室で開発を行っている並列分散フレームワークである Alice を使用する.
269 Alice により提供されるネットワークトポロジー形成を用いて TreeOperationLog を各サーバノードへ
270 配ることで並列分散フレームワークの実装を行う.
271
272 % トポロジー形成の説明をする. 重要さなども。
273 % トポロジーの形成は容易ではない.
274 % Alice が必要な機能を提供してくれることを述べる
275 % Alice はトポロジー形成の機能を提供している
276 % トポロジー間でのデータの受け渡す機能も提供している
277 \begin{figure}[htpb]
278 \begin{center}
279 \includegraphics[scale=0.7]{figures/network_topology_ring.pdf}
280 \caption{リング型のネットワークトポロジー}
281 \label{fig:topology_ring}
282 \end{center}
283 \end{figure}
284 \begin{figure}[htpb]
285 \begin{center}
286 \includegraphics[scale=0.7]{figures/topology_mesh.pdf}
287 \caption{メッシュ型のネットワークトポロジー}
288 \label{fig:topology_mesh}
289 \end{center}
290 \end{figure}
291
292
293
294 \section{並列分散フレームワークAlice}
295 Alice は当研究室で開発している並列分散フレームワークである.
296 Alice はデータを DataSegment, コードを CodeSegment という単位で扱うプログラミングを提供している.
297 DataSegment として扱われるデータは
298
299 % DataSegment, CodeSegment はなしにしたほうがいいかもしれない. Alice が論文の主題じゃないから
300 % それとこの2つの説明をするとしたら結構な量になる
301
302
251 \section{データの永続性} 303 \section{データの永続性}
304 % TreeOperationLog(ログ)をシリアライズ可能な形にしてデータをおくること
305 % シリアライズできる形にしたものをそのままHDに書き出すだけでログの永続性は行える
252 306
253 307
254 \section{CAP 定理と Jungle} 308 \section{CAP 定理と Jungle}
255 ここまでの Jungle の設計を踏まえて, CAP 定理における Jungle の立ち位置を考える. 309 ここまでの Jungle の設計を踏まえて, CAP 定理における Jungle の立ち位置を考える.
256 分散管理バージョンのように独立したリポジトリもち, それぞれが独自の変更を加えることが 310 分散管理バージョンのように独立したリポジトリもち, それぞれが独自の変更を加えることが