changeset 16:47e118dc6538

fix
author suruga
date Sun, 18 Feb 2018 23:46:11 +0900
parents b1e659ca3552
children 99c97d6a30e0
files paper/.DS_Store paper/final_main/chapter3.tex paper/final_main/main.aux paper/final_main/main.dvi paper/final_main/main.lof paper/final_main/main.log paper/final_main/main.lol paper/final_main/main.pdf paper/final_main/main.toc
diffstat 9 files changed, 79 insertions(+), 167 deletions(-) [+]
line wrap: on
line diff
Binary file paper/.DS_Store has changed
--- a/paper/final_main/chapter3.tex	Sun Feb 18 20:35:20 2018 +0900
+++ b/paper/final_main/chapter3.tex	Sun Feb 18 23:46:11 2018 +0900
@@ -114,9 +114,9 @@
 
 
 \section{分散フレームワーク Alice による分散環境の構築}
-分散させたJungleの通信部分を担うのが、当研究室で開発している並列分散フレームワークAlice[1である。Aliceは、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する。今回扱うサーバーノードに学科の仮想マシン(VM)を用いる。
+分散させたJungleの通信部分を担うのが、当研究室で開発している並列分散フレームワークAlice[1]である。Aliceは、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する。今回扱うサーバーノードに学科の仮想マシン(VM)を用いる。
 本研究では、分散環境上でのJungleの性能を確認する為、VM32台分のサーバーノードを用意し、それぞれで1台ずつJungle起動することで、分散させる。
-Jungleを起動したサーバーノード間の通信部分を、当研究室で開発している並列分散フレームワークAlice[1]にて再現する。
+%Jungleを起動したサーバーノード間の通信部分を、当研究室で開発している並列分散フレームワークAlice[1]にて再現する。
 
 Aliceには、ネットワークのトポロジーを構成するTopologyManager[2]という機能が備わっている。サーバーノードはTopologyManagerに、誰に接続を行えばよいかを尋ねる。TopologyManagerは尋ねてきたサーバーノードに順番に、接続先のサーバーノードのIPアドレス、ポート番号、接続名を送り、受け取ったサーバーノードはそれらに従って接続する。
 この時、TopologyManager自身はVM0を用いて立ち上げる。
@@ -148,59 +148,47 @@
 servernode0からservernode1へデータを送りたい場合、”child 1”というキーを追加すればいい。
 このように、データアクセスしたいサーバーノードのキーを追加することで、そのサーバノードのDataSegmentへデータアクセスすることができる。
 他のサーバーノードのDataSegmentへデータアクセスする際には、アクセス先のサーバーノードのキーを追加すればいい。
-
 %TreeOperationLog
 トポロジー構成後、Jungle間の通信でのデータ形式にはTreeOperationLogを利用する。TreeOperationLogは、Jungleによるノードの編集の履歴などの情報が入っている。TreeOperationLogは、AliceのDataSegmentでも扱えるようシリアライズ化されたデータである。よって、Aliceによって構成されたネットワークトポロジーのサーバノード間でのデータのアクセスが可能になっている。
 TreeOperationLogをAliceによって他のJungleへ送る。送信先のJungleでは、送られてきたTreeOperationLogを参照して送信元のJungleと同じノード編集を行う。こうして、Jungle間でのデータの同期を可能にしている。
 \newpage
 
-\section{Jungleの分散性能測定用テストプログラムの実装}
-本実験において、Jungleの性能を測定する為に以下のテストプログラムを作成した。
-テストプログラムは、木構造における複数の子ノードに、データを複数書き込む機能を提供する。
-複数の子ノードにデータをそれぞれ書き込み、最終的にrootノードへデータをmergeしていく(図\ref{fig:logupdatetest} )。データを複数書き込む機能は、Jungleを立ち上げる際に-writeオプションと-countオプションをつけることで搭載される。
+\section{測定用プログラムの実装}
+これまで、本実験の概要、測定環境について説明し、次にTORQUEによるJungleへのプログラム投下方法と、Aliceによる分散通信部分の構築方法について説明した。次説では、本実験の手順と合わせて、今回実装した部分である、Jungleにデータを書き込むための機能と時間計測部分について解説する。
+本実験において、木構造を形成した32台のうち、16台のJungleへデータを100回書き込むプログラムを作成した。また、複数の子ノードにデータをそれぞれ書き込み、最終的にrootノードへデータを書き込んでいく時間を計測する為の機能を、新たにAliceに実装した。
+以下のソースコード \ref{src:Logupdate}は、実装したテストプログラムの起動部分である。
 
-測定範囲は、複数の子ノードから書き込まれたデータが全てrootノードへ到達し、書き込みが終了するまでの時間である。
+\begin{lstlisting}[frame=lrbt,label=src:Logupdate,caption=測定用プログラムの起動部分,numbers=left]
+mysystem("ssh $nodes[0] \"cd $logFile/$logNum;java -cp ../../build/libs/logupdateTest-1.1.jar alice.topology.manager.TopologyManager -conf ../../scripts/tree.dot -p 10000 --showTime --noKeepAlive >  $logNum\" ",1);
+$logNum++;
+sleep 10;
+for my $i (1..($#nodes-1)) {
+  mkdir "$logFile/$logNum";
+  mysystem("ssh $nodes[$i] \"cd $logFile/$logNum;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  --noKeepAlive > $logNum\" & ");
+  $logNum++;
+}
+mkdir "$logFile/$logNum";
+mysystem("ssh $nodes[$#nodes] \"cd $logFile/$logNum;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  -write -count 10 --noKeepAlive > $logNum\" &" );
+for (@wait) {
+    wait;
+}
+\end{lstlisting}
+1行目で本実験のネットワークトポロジーを形成するためtopokogymanagerの起動を行なっている。$nodesはVM0~VM31台の、合計32台の仮想マシンを表し、TopologyManagerはVM0に起動する。
+-p オプションはTopologyManagerが開くポートの番号、-confオプションには dot ファイルのパスを渡している。ポート番号はAliceのより記述された並列分散プログラムの起動時に渡す必要がある。
+dot ファイルには、トポロジーをどのように構成するかが書かれている。dotファイルを読み込んだAliceのTopologyManagerに対して、サーバーノードは誰に接続を行えばよいかを尋ねる。TopologyManagerは尋ねてきたサーバーノードに対してノード番号を割り振り、dotファイルに記述している通りにサーバーノードが接続を行うように指示をだす。
+-showTime オプションは、今回Aliceに実装した機能である。--showTime オプションをつけることで、出力される結果に、子ノードのJungleからの書き込みがrootノードのJungleへ到達し、書き込みが終了したときの時間が表示されるようになる。
+4行目では、Jungleを起動している。
+10行目では、4行目と同様jungleを起動しているが、今回実装した-writeオプションと-countオプションをつけている。
+-writeオプションは、Jungleにデータを書き込む機能をつけることができる。
+-countオプションは、何回データを書き込むかを指定することができる。隣に引数をつけることで、回数を設定できる。本実験では、16台のJungleで、100回データを書き込むよう設定する。
+すなわち、TopologyManagerに1台、writeモードで立ち上げるJungleに16台使た後、残りの15台はそのままJungleを起動させている。
+このスクリプトは、TORQUEによって各サーバーノードへ投入され、実行される。
+
+
+%データを複数書き込む機能は、Jungleを立ち上げる際に-writeオプションと-countオプションをつけることで搭載される。
+
+
 %Aliceのコードを参照する限り、TopologyManagerが起動した時から、終了するまでの間で時間を取得している。
 
 %この図だと末端の子ノードからのみ書き込まれているように見える。実際は1~16の様々な場所にあるノードから書き込む。
-\begin{figure}[htbp]
-    \centering
-    \includegraphics[width=100mm]{pic/logupdatetest2.pdf}
-    \caption{TestプログラムによるJungleの性能測定}
-    \label{fig:logupdatetest}
-\end{figure}
 
-到達時間を測定するためには、AliceのTopologyManagerを立ち上げる際に、-show Time オプションをつける必要がある。これにより、出力される結果に末端ノードからrootノードへのデータの到達時間が表示されるようになる。
-
-テストプログラムは、TopologyManagerとJungleの起動を行う。
-TopologyManagerとJungleは、用意されたVM32台に起動される。
-それぞれ、VMを何台用いて起動するかは、以下のように指定する。
-
-%topologymanager
-まず、本実験のネットワークトポロジーを形成するためtopokogymanagerの起動を行う。
-TopologyManagerはVM0に起動する。
-AliceのTopologyManagerの起動はソースコード\ref{src:Logupdate.pl}のように行う。
-\begin{lstlisting}[frame=lrbt,label=src:Logupdate.pl,caption=Alice によるネットワークトポロジーマネージャーの起動,numbers=left]
-% ssh $nodes[0] \"cd $logFile;java -cp ../../build/libs/logupdateTest-1.1.jar alice.topology.manager.TopologyManager -conf ../../scripts/tree.dot -p 10000 --showTime --noKeepAlive
-\end{lstlisting}
--p オプションはTopologyManagerが開くポートの番号、-confオプションには dot ファイルのパスを渡している。
- ポート番号はAliceのより記述された並列分散プログラムの起動時に渡す必要がある。
- dot ファイルには、トポロジーをどのように構成するかが書かれている。dotファイルを読み込んだAliceのTopologyManagerに対して、サーバーノードは誰に接続を行えばよいかを尋ねる。TopologyManagerは尋ねてきたサーバーノードに対してノード番号を割り振り、dotファイルに記述している通りにサーバーノードが接続を行うように指示をだす。
-このとき、子ノードからの書き込みがrootノードへ到達したときの時間の計測結果を表示する -showTime オプションも一緒につける。
-
-%writeモードのjungle起動
--writeオプションをつけることで、jungleにデータを書き込む機能をつけることができる。
-これを最大16台のJungleにつけて起動させる。
-また、Jungleがデータを書き込む回数は、-countオプションをつけることで指定できる。今回は、1から100の回数分書き込みを行う。
--writeオプション、-countオプションを付けたwriteモードのjungleの起動はソースコード\ref{src:WriteCount}のように行う。
-\begin{lstlisting}[frame=lrbt,label=src:WriteCount,caption=writeモードでのJungleの起動,numbers=left]
-% ssh $nodes[$#nodes] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  -write -count 10 --noKeepAlive
-\end{lstlisting}
-
-%jungleの起動
-TopologyManagerに1台、writeモードで立ち上げるJungleに16台使た後、残りの15台はそのままJungleを起動させる。
-起動はソースコード\ref{src:jungle}のように行う。
-\begin{lstlisting}[frame=lrbt,label=src:jungle,caption=Jungleの起動,numbers=left]
-% ssh $nodes[$i] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  --noKeepAlive
-\end{lstlisting}
-
--- a/paper/final_main/main.aux	Sun Feb 18 20:35:20 2018 +0900
+++ b/paper/final_main/main.aux	Sun Feb 18 23:46:11 2018 +0900
@@ -36,33 +36,7 @@
 \newlabel{src:LogupdateTest.pl}{{3.1}{9}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}本実験で投入するジョブスクリプト}{9}}
 \@writefile{toc}{\contentsline {section}{\numberline {3.5}分散フレームワーク Alice による分散環境の構築}{10}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces AliceによるJungleの木構造トポロジーの形成}}{11}}
-\newlabel{fig:topologymanager}{{3.3}{11}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces トポロジーの形成}}{12}}
-\newlabel{fig:LogupdateTree}{{3.4}{12}}
-\@writefile{toc}{\contentsline {section}{\numberline {3.6}Jungleの分散性能測定用テストプログラムの実装}{13}}
-\@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces TestプログラムによるJungleの性能測定}}{13}}
-\newlabel{fig:logupdatetest}{{3.5}{13}}
-\newlabel{src:Logupdate.pl}{{3.2}{14}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.2}Alice によるネットワークトポロジーマネージャーの起動}{14}}
-\newlabel{src:WriteCount}{{3.3}{14}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.3}writeモードでのJungleの起動}{14}}
-\newlabel{src:jungle}{{3.4}{14}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {3.4}Jungleの起動}{14}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {第4章}性能評価}{15}}
-\@writefile{lof}{\addvspace {10\p@ }}
-\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {4.1}java版jungleとhuskell版jungleの比較}{15}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.2}java版jungleの分散性能の評価}{15}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.3}性能測定方法の評価}{15}}
-\@writefile{toc}{\contentsline {chapter}{\numberline {第5章}結論}{16}}
-\@writefile{lof}{\addvspace {10\p@ }}
-\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {section}{\numberline {5.1}まとめ}{16}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.2}今後の課題}{16}}
-\bibcite{1}{1}
-\bibcite{2}{2}
-\bibcite{3}{3}
-\bibcite{4}{4}
-\bibcite{5}{5}
-\bibcite{5}{6}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces AliceによるJungleの木構造トポロジーの形成}}{10}}
+\newlabel{fig:topologymanager}{{3.3}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces トポロジーの形成}}{11}}
+\newlabel{fig:LogupdateTree}{{3.4}{11}}
Binary file paper/final_main/main.dvi has changed
--- a/paper/final_main/main.lof	Sun Feb 18 20:35:20 2018 +0900
+++ b/paper/final_main/main.lof	Sun Feb 18 23:46:11 2018 +0900
@@ -1,13 +0,0 @@
-\addvspace {10\p@ }
-\addvspace {10\p@ }
-\contentsline {figure}{\numberline {2.1}{\ignorespaces ツリー型のトポロジー}}{4}
-\contentsline {figure}{\numberline {2.2}{\ignorespaces ring型のトポロジー}}{5}
-\contentsline {figure}{\numberline {2.3}{\ignorespaces メッシュ型のトポロジー}}{5}
-\addvspace {10\p@ }
-\contentsline {figure}{\numberline {3.1}{\ignorespaces 複数のjungleに書き込まれたデータがrootのjungleへ到達する時間を計測する}}{7}
-\contentsline {figure}{\numberline {3.2}{\ignorespaces TORQUEの構成}}{9}
-\contentsline {figure}{\numberline {3.3}{\ignorespaces AliceによるJungleの木構造トポロジーの形成}}{11}
-\contentsline {figure}{\numberline {3.4}{\ignorespaces トポロジーの形成}}{12}
-\contentsline {figure}{\numberline {3.5}{\ignorespaces TestプログラムによるJungleの性能測定}}{13}
-\addvspace {10\p@ }
-\addvspace {10\p@ }
--- a/paper/final_main/main.log	Sun Feb 18 20:35:20 2018 +0900
+++ b/paper/final_main/main.log	Sun Feb 18 23:46:11 2018 +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)  18 FEB 2018 20:35
+This is e-pTeX, Version 3.14159265-p3.7.1-161114-2.6 (utf8.euc) (TeX Live 2017) (preloaded format=platex 2017.10.20)  18 FEB 2018 23:45
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -530,11 +530,7 @@
    defining Unicode char U+2026 (decimal 8230)
    defining Unicode char U+2122 (decimal 8482)
    defining Unicode char U+2423 (decimal 9251)
-)) (./main.aux
-
-LaTeX Warning: Label `5' multiply defined.
-
-)
+)) (./main.aux)
 \openout1 = `main.aux'.
 
 LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 78.
@@ -555,35 +551,21 @@
 LaTeX Font Info:    ... okay on input line 78.
 \c@lstlisting=\count117
 File: fig/ryukyu.pdf Graphic file (type pdf)
- <fig/ryukyu.pdf> [0
+
+<fig/ryukyu.pdf> [0
 
 ]
 LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <24.88> not available
 (Font)              Font shape `JT1/gt/m/n' tried instead on input line 87.
 LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <24.88> not available
 (Font)              Font shape `JY1/gt/m/n' tried instead on input line 87.
- (./main.toc
-LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <12> not available
-(Font)              Font shape `JT1/gt/m/n' tried instead on input line 1.
-LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <12> not available
-(Font)              Font shape `JY1/gt/m/n' tried instead on input line 1.
-LaTeX Font Info:    Try loading font information for U+msa on input line 2.
-
-(/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/umsa.fd
-File: umsa.fd 2013/01/14 v3.01 AMS symbols A
-)
-LaTeX Font Info:    Try loading font information for U+msb on input line 2.
-
-(/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/umsb.fd
-File: umsb.fd 2013/01/14 v3.01 AMS symbols B
-))
+ (./main.toc)
 \tf@toc=\write3
 \openout3 = `main.toc'.
 
  [1
 
-]
-(./main.lof)
+] (./main.lof)
 \tf@lof=\write4
 \openout4 = `main.lof'.
 
@@ -593,7 +575,8 @@
 \tf@lol=\write5
 \openout5 = `main.lol'.
 
- (./chapter1.tex [3
+
+(./chapter1.tex [3
 
 ]
 第 1 章
@@ -614,44 +597,48 @@
 File: pic/mesh.pdf Graphic file (type pdf)
  <pic/mesh.pdf>) (./chapter3.tex [4] [5]
 第 3 章
-[6
+LaTeX Font Info:    Try loading font information for U+msa on input line 21.
+(/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2013/01/14 v3.01 AMS symbols A
+)
+LaTeX Font Info:    Try loading font information for U+msb on input line 21.
+
+(/usr/local/texlive/2017/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2013/01/14 v3.01 AMS symbols B
+) [6
 
 ]
 File: ./pic/gaiyou.pdf Graphic file (type pdf)
- <./pic/gaiyou.pdf> [7]
+
+<./pic/gaiyou.pdf> [7]
 File: ./pic/torque.pdf Graphic file (type pdf)
  <./pic/torque.pdf> [8] [9]
 File: pic/topologymanager3.pdf Graphic file (type pdf)
-
-<pic/topologymanager3.pdf> [10]
+ <pic/topologymanager3.pdf>
+[10]
 File: pic/LogupdateTree.pdf Graphic file (type pdf)
- <pic/LogupdateTree.pdf> [11] [12]
-File: pic/logupdatetest2.pdf Graphic file (type pdf)
+ <pic/LogupdateTree.pdf> [11]
+LaTeX Font Info:    Font shape `JT1/mc/bx/n' in size <12> not available
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 159.
+LaTeX Font Info:    Font shape `JY1/mc/bx/n' in size <12> not available
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 159.
 
-<pic/logupdatetest2.pdf> [13]) (./chapter4.tex [14]
-第 4 章
-[15
-
-]) (./chapter5.tex
-第 5 章
-) (./bibliography.tex [16
 
-]) (./thanks.tex [17
-
-]) [18
-
-] (./main.aux)
+LaTeX Warning: Reference `src:Logupdate' on page 12 undefined on input line 159
+.
 
-LaTeX Warning: There were multiply-defined labels.
-
- ) 
+! Missing $ inserted.
+<inserted text> 
+                $
+l.185 
+       
 Here is how much of TeX's memory you used:
- 4037 strings out of 493653
- 49132 string characters out of 6148873
- 163963 words of memory out of 5000000
- 7540 multiletter control sequences out of 15000+600000
+ 4013 strings out of 493653
+ 48839 string characters out of 6148873
+ 191865 words of memory out of 5000000
+ 7529 multiletter control sequences out of 15000+600000
  16433 words of font info for 66 fonts, out of 8000000 for 9000
  929 hyphenation exceptions out of 8191
- 27i,8n,32p,662b,1701s stack positions out of 5000i,500n,10000p,200000b,80000s
+ 27i,8n,32p,662b,1686s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on main.dvi (22 pages, 53760 bytes).
+Output written on main.dvi (15 pages, 34752 bytes).
--- a/paper/final_main/main.lol	Sun Feb 18 20:35:20 2018 +0900
+++ b/paper/final_main/main.lol	Sun Feb 18 23:46:11 2018 +0900
@@ -1,4 +0,0 @@
-\contentsline {lstlisting}{\numberline {3.1}本実験で投入するジョブスクリプト}{9}
-\contentsline {lstlisting}{\numberline {3.2}Alice によるネットワークトポロジーマネージャーの起動}{14}
-\contentsline {lstlisting}{\numberline {3.3}writeモードでのJungleの起動}{14}
-\contentsline {lstlisting}{\numberline {3.4}Jungleの起動}{14}
Binary file paper/final_main/main.pdf has changed
--- a/paper/final_main/main.toc	Sun Feb 18 20:35:20 2018 +0900
+++ b/paper/final_main/main.toc	Sun Feb 18 23:46:11 2018 +0900
@@ -1,20 +0,0 @@
-\contentsline {chapter}{\numberline {第1章}はじめに}{1}
-\contentsline {section}{\numberline {1.1}研究背景}{1}
-\contentsline {section}{\numberline {1.2}研究目的}{2}
-\contentsline {chapter}{\numberline {第2章}分散版jungleデータベース}{3}
-\contentsline {section}{\numberline {2.1}Jungleデータベースの構造}{3}
-\contentsline {section}{\numberline {2.2}分散機構}{3}
-\contentsline {chapter}{\numberline {第3章}評価実験}{6}
-\contentsline {section}{\numberline {3.1}実験目的}{6}
-\contentsline {section}{\numberline {3.2}実験概要}{7}
-\contentsline {section}{\numberline {3.3}実験環境}{8}
-\contentsline {section}{\numberline {3.4}TORQUE Resource Manager}{8}
-\contentsline {section}{\numberline {3.5}分散フレームワーク Alice による分散環境の構築}{10}
-\contentsline {section}{\numberline {3.6}Jungleの分散性能測定用テストプログラムの実装}{13}
-\contentsline {chapter}{\numberline {第4章}性能評価}{15}
-\contentsline {section}{\numberline {4.1}java版jungleとhuskell版jungleの比較}{15}
-\contentsline {section}{\numberline {4.2}java版jungleの分散性能の評価}{15}
-\contentsline {section}{\numberline {4.3}性能測定方法の評価}{15}
-\contentsline {chapter}{\numberline {第5章}結論}{16}
-\contentsline {section}{\numberline {5.1}まとめ}{16}
-\contentsline {section}{\numberline {5.2}今後の課題}{16}