changeset 7:cf949ad77abe default tip

version-6
author suruga
date Fri, 27 Oct 2017 16:53:05 +0900
parents c4d0b3739d1f
children
files midterm.aux midterm.dvi midterm.log midterm.pdf midterm.tex pic/logupdatetest.graffle pic/logupdatetest.pdf pic/topologymanager.graffle pic/topologymanager.pdf
diffstat 9 files changed, 38 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/midterm.aux	Fri Oct 27 15:42:56 2017 +0900
+++ b/midterm.aux	Fri Oct 27 16:53:05 2017 +0900
@@ -11,7 +11,7 @@
 \@writefile{toc}{\contentsline {section}{\numberline {4}TORQUE Resource Manager}{2}}
 \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces TORQUEの構成}}{2}}
 \newlabel{fig:torque}{{2}{2}}
-\@writefile{toc}{\contentsline {section}{\numberline {5}Testプログラム}{2}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces LogupdateTestによるJungleの性能測定}}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}テストプログラム}{2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces TestプログラムによるJungleの性能測定}}{2}}
 \newlabel{fig:logupdatetest}{{3}{2}}
 \@writefile{toc}{\contentsline {section}{\numberline {6}今後の作業}{2}}
Binary file midterm.dvi has changed
--- a/midterm.log	Fri Oct 27 15:42:56 2017 +0900
+++ b/midterm.log	Fri Oct 27 16:53:05 2017 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2017) (preloaded format=platex 2017.10.20)  27 OCT 2017 14:54
+This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2017) (preloaded format=platex 2017.10.20)  27 OCT 2017 16:47
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -170,15 +170,25 @@
 ]
 File: ./pic/torque.pdf Graphic file (type pdf)
  <./pic/torque.pdf>
+LaTeX Font Info:    Try loading font information for OMS+cmr on input line 86.
+
+(/usr/local/texlive/2017/texmf-dist/tex/latex/base/omscmr.fd
+File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info:    Font shape `OMS/cmr/m/n' in size <10> not available
+(Font)              Font shape `OMS/cmsy/m/n' tried instead on input line 86.
 File: pic/logupdatetest.pdf Graphic file (type pdf)
- <pic/logupdatetest.pdf> [2] (./midterm.aux) ) 
+
+<pic/logupdatetest.pdf> [2] [3
+
+] (./midterm.aux) ) 
 Here is how much of TeX's memory you used:
- 1015 strings out of 493653
- 12076 string characters out of 6148873
+ 1032 strings out of 493653
+ 12378 string characters out of 6148873
  79211 words of memory out of 5000000
- 4627 multiletter control sequences out of 15000+600000
+ 4641 multiletter control sequences out of 15000+600000
  13088 words of font info for 51 fonts, out of 8000000 for 9000
  929 hyphenation exceptions out of 8191
- 25i,15n,43p,511b,360s stack positions out of 5000i,500n,10000p,200000b,80000s
+ 25i,15n,44p,511b,360s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on midterm.dvi (2 pages, 13384 bytes).
+Output written on midterm.dvi (3 pages, 13132 bytes).
Binary file midterm.pdf has changed
--- a/midterm.tex	Fri Oct 27 15:42:56 2017 +0900
+++ b/midterm.tex	Fri Oct 27 16:53:05 2017 +0900
@@ -30,27 +30,20 @@
 スマートフォンやタブレット端末の普及にともない、年々Webサービスの利用者は増加した一方で、データ量が増大し、サーバ側への負荷も増加している。
 これを解決するため、Webサービスには、よりシステムの処理能力を拡張する性質である、スケーラビリティが求められてきている。
 
-スケーラビリティとは、高性能のマシンを用意したり、複数のマシンに処理を分散させたりすることで、システムの処理能力を向上させる性能を指す。本実験で指すスケーラビリティとは、後者の方である。
-
-webサービスにスケーラビリティを付与する方法の1つに、データベースにスケーラビリティを持たせる事が考えられる。
+スケーラビリティとは、高性能のマシンを用意したり、複数のマシンに処理を分散させたりすることで、システムの処理能力を向上させる性能を指す。本実験で指すスケーラビリティとは、後者の方である。Webサービスにスケーラビリティを付与する方法の1つに、データベースにスケーラビリティを持たせる事が考えられる。
 
-そこで、当研究室ではスケーラビリティを持つデータベースとして木構造を持つ分散データベースjungleを開発している。方法としては、分散環境上で複数のデータベースJungleを起動することで、処理を分散させる。
+そこで、当研究室ではスケーラビリティを持つデータベースとして木構造を持つ分散データベースJungleを開発している。方法としては、分散環境上で複数のデータベースJungleを起動することで、処理を分散させる。
 
-これまでに行われた分散環境上でのJungleの性能を検証する実験[2]では、使用するTestプログラムのフロントエンドにWebサーバーJettyが使用されており、純粋なJungleの性能は測定できていなかった。今回は、新たに改良されたJungleの性能を、Webサーバーを取り除いたTestプログラムを用いて測定することを目的とする。
+これまでに行われた分散環境上でのJungleの性能を検証する実験[2]では、使用するテストプログラムのフロントエンドにWebサーバーJettyが使用されており、純粋なJungleの性能は測定できていなかった。今回は、新たに改良されたJungleの性能を、Webサーバーを取り除いたTestプログラムを用いて測定することを目的とする。
 
 \section{分散データベースJungle}
 Jungleは、当研究室で開発を行っている木構造の分散データベースで、Javaを用いて実装されている。
 
-Jungleはデータをオンメモリで保持している。しかし、オンメモリのままでは電源が落ちた際にデータが失われてしまうという問題がある。
-そこで、データの復旧を行えるよう、Jungleではログによって、バージョンごとにデータを保持している。
-Jungleの分散ノード間の通信は木の変更のログを交換することによって、分散データベースを構成するよう設計されている。
-持続性のある分散ノードを用いることでJungleの持続性を保証することができる。
-
 Jungleは名前付きの複数の木の集合からなり、木は複数のノードの集合でできている。ノードは自身の子のリストと属性名、属性値を持ち、データベースのレコードに相応する。通常のレコードと異なるのは、ノードに子供となる複数のノードが付くところである。
 
 通常のRDBと異なり、Jungleは木構造をそのまま読み込むことができる。例えば、XMLやJsonで記述された構造を、データベースを設計することなく読み込むことが可能である。また、この木を、そのままデータベースとして使用することも可能である。しかし、木の変更の手間は木の構造に依存する。特に非破壊木構造[3]を採用しているJungleでは、木構造の変更の手間はO(1)からO(n)となりえる。つまり、アプリケーションに合わせて木を設計しない限り、十分な性能を出すことはできない。逆に、正しい木の設計を行えば高速な処理が可能である。
 
-Jungleは基本的にオンメモリで使用することを考えており、一度、木のルートを取得すれば、その上で木構造として自由にアクセスして良い。
+Jungleはデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとしてTreeOperationLog[2]に残している。Jungleの分散ノード間の通信は木の変更のTreeOperationLogを交換することによって、分散データベースを構成するよう設計されている。
 
 \section{分散フレームワークAliceによる分散環境の構築}
 本研究では、分散環境上でのJungleの性能を確認する為、VM32台分のサーバーノードを用意し、それぞれでJungleを起動することで、Jungle間で通信をする環境をつくる。
@@ -59,14 +52,13 @@
 Aliceには、ネットワークのトポロジーを構成するTopologyManager[2]という機能が備わっている。TopologyManagerに参加表明をしたサーバーノードに順番に、接続先のサーバーノードのIPアドレス、ポート番号、接続名を送り、受け取ったサーバーノードはそれらに従って接続する。
 今回、TopologyManagerはJungleをのせたVM32台分のサーバーノードを、木構造を形成するように采配する(図\ref{fig:topologymanager} )。
 
+トポロジー構成後、Jungle間の通信でのデータ形式にはTreeOperationLogを利用する。TreeOperationLogには、ノードの編集の履歴などの情報が入っている。TreeOperationLogをAliceによって他のJungleへ送ることで、送信元のJungleと同じ編集を行う。こうして、Jungle間でのデータの同期を可能にしている。
 \begin{figure}[H]
     \centering
     \includegraphics[width=70mm]{pic/topologymanager.pdf}
     \caption{AliceによるJungleの木構造トポロジーの形成}
     \label{fig:topologymanager}
 \end{figure}
-
-トポロジー構成後、Jungle間の通信でのデータ形式にはTreeOperationLog[2]を利用する。TreeOperationLogには、ノードの編集の履歴などの情報が入っている。TreeOperationLogをAliceによって他のJungleへ送ることで、送信元のJungleと同じ編集を行う。こうして、Jungle間でのデータの同期を可能にしている。
 \section{TORQUE Resource Manager}
 分散環境上でのJungleの性能を測定するにあたり、VM32台にJungleを起動させた後、それぞれでデータを書き込むプログラムを動作させる。プログラムを起動する順番やタイミングは、TORQUE Resource Manager[1]というジョブスケジューラーによって管理する。
 
@@ -79,18 +71,26 @@
         \caption{TORQUEの構成}
          \label{fig:torque}
 \end{figure}
+
 ユーザーはジョブを記述したシェルスクリプトを用意し、スケジューラーに投入する。その際に、利用したいマシン数やCPUコア数を指定する。TORQUEは、ジョブに必要なマシンが揃い次第、受け取ったジョブを実行する。
-\section{Testプログラム}
-これまでの分散環境上でのJungleの性能を測定する実験で使われたTestプログラムは、フロントエンドにJettyというWebサーバーが使われていた。
+\section{テストプログラム}
+これまでの分散環境上でのJungleの性能を測定する実験で使われたテストプログラムは、フロントエンドにJettyというWebサーバーが使われていた。
 しかし、Webサーバーが仲介した測定結果となってしまい、純粋なJungleの性能を測定できないという問題がある。
-そこで、Webサーバーを取り除き、これまでの研究により純粋にJungleの性能を測定するTestプログラムを作成する。
+そこで、Webサーバーを取り除き、これまでの研究により純粋にJungleの性能を測定するテストプログラムを作成する。
+
+テストプログラムは、木構造における子ノードに、データを複数書き込む機能を提供する。
+末端の複数の子ノードにデータをそれぞれ書き込み、最終的にrootノードへデータをmergeしていく(図\ref{fig:logupdatetest} )。
 
-Testプログラムは、木構造における子ノードに、データを複数書き込む機能を提供する。
-末端の複数の子ノードにデータをそれぞれ書き込み、最終的にrootノードへデータをmergeしていく(図\ref{fig:logupdatetest} )。
+測定範囲は、
+\begin{itemize}
+ \item 末端ノードからrootノードへデータが到達する時間
+ \item 末端Jungleからrootノードを介して別の末端ノードへデータが到達する時間
+\end{itemize}
+の2点を計測する予定である。
 \begin{figure}[H]
     \centering
     \includegraphics[width=70mm]{pic/logupdatetest.pdf}
-    \caption{LogupdateTestによるJungleの性能測定}
+    \caption{TestプログラムによるJungleの性能測定}
     \label{fig:logupdatetest}
 \end{figure}
 
Binary file pic/logupdatetest.graffle has changed
Binary file pic/logupdatetest.pdf has changed
Binary file pic/topologymanager.graffle has changed
Binary file pic/topologymanager.pdf has changed