changeset 41:cd2d73cb6b2c

fix slide
author suruga
date Thu, 22 Feb 2018 04:12:36 +0900
parents 9978f2fd4954
children affad4dda4cf
files .DS_Store paper/.DS_Store paper/slides/.DS_Store paper/slides/sample.html paper/slides/sample.markdown paper/slides/sample.pdf.html
diffstat 6 files changed, 377 insertions(+), 427 deletions(-) [+]
line wrap: on
line diff
Binary file .DS_Store has changed
Binary file paper/.DS_Store has changed
Binary file paper/slides/.DS_Store has changed
--- a/paper/slides/sample.html	Wed Feb 21 21:21:29 2018 +0900
+++ b/paper/slides/sample.html	Thu Feb 22 04:12:36 2018 +0900
@@ -86,12 +86,12 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin14]
-                on 2018-02-21 21:20:30 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-22 04:12:15 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
 <!-- _S9SLIDE_ -->
-<h1 id="section">研究背景(1/2)</h1>
+<h1 id="section">研究背景</h1>
 <ul>
   <li>スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している</li>
   <li>この問題を解決する為に当研究室では、スケーラビリティを持つ分散データベースとしてJungleを開発している</li>
@@ -102,34 +102,22 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-1">研究背景(2/2)</h1>
+<h1 id="section-1">問題提起</h1>
 <ul>
-  <li>一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している</li>
-  <li>JungleはNoSQLを元に開発されており、木構造等の複雑なデータをそのまま読み込むことができる</li>
-  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
+  <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
+  <li>Webサーバーを使用した測定方法は、Jungleに合わせたテストの準備が難しい</li>
+  <li>また、出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-2">問題提起</h1>
-<ul>
-  <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
-  <li>出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-3">研究目的</h1>
+<h1 id="section-2">研究目的</h1>
 <ul>
   <li>Jungle単体の分散性能を測定できる環境を構築したい</li>
   <li>また、Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくしたい</li>
-  <li>本研究では、Webサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
-変更が全体に伝搬するまでの実験を行なった</li>
+  <li>本研究ではWebサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、変更が全体に伝搬するまでの実験を行える環境を構築した</li>
 </ul>
 
 
@@ -138,78 +126,51 @@
 <!-- _S9SLIDE_ -->
 <h1 id="jungle">JUngleデータベースの構造</h1>
 <ul>
-  <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採用している</li>
-  <li>NoSQLを元に開発されている為、RDBと異なり、木構造等の複雑なデータをそのまま読み込める</li>
-  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="jungle12">Jungleの分散機構(1/2)</h1>
-<ul>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
-  <li>並列環境上のノード間でデータの衝突が起きるのを避ける為、JungleにはMergeの機能が実装されている</li>
+  <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採
+用している</li>
+  <li>木の変更を非破壊で行なっている</li>
+  <li>木の変更をLogとして持っている</li>
+  <li>そのLogを通信することにより、木を分散させる</li>
+  <li>Logの通信には当研究で開発している分散フレームワークAliceを用いている</li>
+  <li>異なる変更履歴を1つにまとめるMergeという機能を持っている</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="jungle22">Jungleの分散機構(2/2)</h1>
+<h1 id="jungle-1">Jungleの分散機構</h1>
 <ul>
   <li>Jungleの分散機構はツリートポロジーを想定している</li>
-  <li>ツリー型であれば、データの整合性をとる場合、一度トップまでデータを伝搬させることで行える</li>
-  <li>ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである</li>
+  <li>ツリー型であれば、一度トップまでデータを伝搬させることでデータの整合性を取ることができる</li>
 </ul>
 
-<div align="center"><img src="./pictures/tree.pdf" style="center" /></div>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="treeoperationlog">TreeOperationLog</h1>
-<ul>
-  <li>TreeOperationLogには、Jungleのノード編集の履歴が入っている。</li>
-  <li>TreeOperationLogはAliceでも扱えるようシリアライズされている</li>
-  <li>Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。</li>
-</ul>
+<div align="center"><img src="./pictures/tree.svg" style="center" /></div>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-4">評価実験</h1>
+<h1 id="section-3">実験の準備</h1>
 <ul>
-  <li>学科から16台のVMを借り,15台でJungleを1つずつ起動し、分散させる</li>
-  <li>15台のJungleはAliceのTopologyManagerでツリートポロジーを形成する</li>
-  <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する</li>
-</ul>
-
-<div align="center"><img src="./pictures/gaiyou.pdf" style="center" /></div>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-5">実験環境</h1>
-<ul>
-  <li>学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
-  <li>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</li>
+  <li>Webサーバーを取り除いた、Jungleの純粋な性能を計測する環境を構築する</li>
+  <li>学科のVM16台でPCクラスタを構築し、クラスタ上にジョブスケジューラーTORQUEを設定した</li>
+  <li>
+    <p>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</p>
+  </li>
+  <li>本研究で用いたVMの性能を以下に示す</li>
 </ul>
 <table style="border-collapse: collapse;border:1px solid #000000;">
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">マシン台数</th>
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">OS</th>
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">CPU</th>
-	<th style="border:1px solid #000000;padding:5px 15px 5px 15px;">Memory</th>
+        <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">Memory</th>
 
         <tr>
         <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">16台</td>
         <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">CentOS Linux release 7.2.1511 (Core) </td>
-        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;"></td>
-	<td style="border:1px solid #000000;padding:5px 15px 5px 15px;">16GB</td>
+        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">QEMU Virtual CPU 2.3GHz</td>
+        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">1GB</td>
         </tr>
 </table>
 
@@ -219,11 +180,12 @@
 <!-- _S9SLIDE_ -->
 <h1 id="torque-resource-manager">TORQUE Resource Manager</h1>
 <ul>
-  <li>TORQUEはジョブを管理・投下・実行する3つのデーモンで構 成されており、ジョブの管理・投下を担うデーモンが稼働しているヘッダーノードから、 ジョブの実行を担うデーモンが稼働している計算ノードへジョブが投下される</li>
-  <li>本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した</li>
+  <li>TORQUEはジョブを管理・投下・実行する3つの処理で構成されている</li>
+  <li>ジョブの管理・投下を担うヘッダーノードから、ジョブの実行を担う計算ノードへジョブが投下される</li>
+  <li>本実験では、TORQUEを用いて、計測用のスクリプトを15台のJungleに一度に投入するスクリプトを投入した</li>
 </ul>
 
-<div align="center"><img src="./pictures/torque.pdf" style="center" /></div>
+<div align="center"><img src="./pictures/torque.svg" style="center" /></div>
 
 
 </div>
@@ -231,14 +193,14 @@
 <!-- _S9SLIDE_ -->
 <h1 id="torque">TORQUEの使い方</h1>
 <ul lang="c">
-  <li>ジョブはqsubで投入</li>
+  <li>ジョブはqsubコマンドで投入</li>
 </ul>
 <pre><code>$ qsub scripts/LogupdateTest-qsub.sh 
 </code></pre>
 <ul lang="c">
-  <li>ジョブの処理状況はqstatで確認できる
+  <li>ジョブの処理状況はqstatコマンドで確認できる
     <ul>
-      <li>その際、Rは処理中であり、Cは処理完了を表している</li>
+      <li>Sは現在のジョブの処理状況を示し、Rは処理中であり、Cは処理完了を表している</li>
     </ul>
   </li>
 </ul>
@@ -249,16 +211,56 @@
 563.tino-VM1              LogUpdateTest    ie-user                 0 C jungle 
 </code></pre>
 
+<p># 
+* 以上が実験の環境についての説明である
+* つづいて、このTORQUEを用いて、Jungleの分散性能を測定する</p>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-4">実験</h1>
+<ul>
+  <li>以下にJungleの分散性能を測定する手順を示す</li>
+</ul>
+<div>
+        <img src="./pictures/gaiyou.svg" alt="message" style="float: left;width: 50%;" />
+        <div style="float: right; width: 50%;">
+        <ul>
+            <li>1台でTopologyManagerを起動し,残りの15台でJungleを1つずつ起動する</li>
+            <li>TopologyManagerは指定されたトポロジーの情報に従い、接続先の情報をJungleノードに送る</li>
+            <li>Jungleは送られてきた接続先のIPアドレス、ポート番号、接続名に従い、トポロジーを形成する</li>
+            <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する</li>
+      </ul>
+      </div>
+      <div style="clear: both;"></div>
+</div>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="topologymanager">TopologyManager</h1>
+<ul>
+  <li>TopologyManagerは、Aliceが持つネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である</li>
+  <li>TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。</li>
+  <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJungleでツリートポロジーを構成させた。</li>
+</ul>
+
+<div align="center"><img src="./pictures/topologymanager6.svg" style="center" /></div>
+
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="torque-1">TORQUEを使うにあたり工夫した所</h1>
+<h1 id="section-5">実験をするにあたりぶつかった問題点とその対処法</h1>
 <ul>
-  <li>TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない</li>
-  <li>実験が終了したらタスクを終了させるコードを実装した
+  <li>ところが、TORQUEにジョブを投入しても、実験がうまくいかなかった</li>
+  <li>原因は、Jungleには、自身の処理を終了させる機能が備わっていないことだった
     <ul>
-      <li>データ書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
+      <li>Jungleがデータを書き込み終わる時に、TopologyManagerへnullLogを送るコードを実装した</li>
+      <li>TopologyManagerはnullLogを受け取ることで、全てのノードがタスクを終了したことを確認する</li>
+      <li>確認とともに、TopologyManagerはJungleへ”finish”を送り、テストを終了させる</li>
     </ul>
   </li>
 </ul>
@@ -267,51 +269,49 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
+<h1 id="section-6">実験の準備の為に行なったこと</h1>
+<ul>
+  <li>TORQUEに使用するperlスクリプトを用意した</li>
+  <li></li>
+  <li>また、環境構築の際に、JungleとAliceは異なるパッケージで作られていた為、バージョンがズレていた
+    <ul>
+      <li>mavenリポジトリのキャッシュをクリアし、アップデートを行うことで修正した</li>
+    </ul>
+  </li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-7">まとめと今後の課題</h1>
+<ul>
+  <li>本研究ではJungleの分散性能の測定方法の提案と測定環境の構築を行なった</li>
+  <li>それにあたり、Jungleが自身を終了させることができない問題が起きた
+    <ul>
+      <li>データ書き込みの最後にTopologyManagerにnullLogを送り、Jungleを終了させるコードを実装した</li>
+    </ul>
+  </li>
+  <li>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</li>
+  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
+    <ul>
+      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
+    </ul>
+  </li>
+  <li>ディスク上にあるJungleの木を読み出すプロトコルを定義したい</li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
 <h1 id="alice">分散フレームワークAlice</h1>
 <ul>
   <li>Aliceは当研究室で開発している並列分散フレームワークである</li>
-  <li>Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する</li>
-  <li>本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間のデータの通信を行なった</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="topologymanager">TopologyManager</h1>
-<ul>
-  <li>TopologyManagerは、ネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である</li>
-  <li>TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。</li>
-  <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。</li>
-</ul>
-
-<div align="center"><img src="./pictures/topologymanager6.pdf" style="center" /></div>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-6">結果/本研究で工夫した所</h1>
-<ul>
-  <li>無事7台の子ノードJungleからデータが書き込まれ、rootノードJungleへデータがmergeされた時間を計測できた</li>
-  <li>JungleとAliceで生じていたJava等のバージョンのズレを修正した</li>
-  <li>測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-  <li>mavenリポジトリのキャッシュをクリアし、アップデートできた</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-7">今後の課題</h1>
-<ul>
-  <li>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</li>
-  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
-    <ul>
-      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
-    </ul>
+  <li>
+    <p>Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する</p>
   </li>
-  <li>ディスク上にあるツリートポロジーを読み出すプロトコルを定義したい</li>
+  <li>本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間&gt;のデータの通信を行なった</li>
 </ul>
 
 
@@ -385,54 +385,37 @@
   <li>実行結果がLogディレクトリに吐き出される</li>
 </ul>
 
-<style type="text/css">
-<!--
-*{
-	font:nomal 100% 'PT Sans';
-}
 
-ul > li{
-	list-style-type:disc;
-}
-
-.slide h1{
-	text-align:left;
-	color:#777777;
-	font:bold 40px/1.13 'PT Sans', sans-serif;
-	margin-bottom: 50px;
-}
-
-div#slide1 h1{
-	text-align:left;
-	color:#777777;
-	font:bold 60px 'PT Sans', sans-serif;
-	margin-bottom: 50px;
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 lang="c" id="perl">perlスクリプト</h1>
+<pre><code>mysystem("cd $jungleDir; ruby scripts/tree.rb $nodeNum &gt; scripts/tree.dot");
+mkdir "$logFile";
+mysystem("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 &gt; $logNum\" ",1);
+$logNum++;
+sleep 10;
+for my $i (1..($#nodes-7)) {
+  mysystem("ssh $nodes[$i] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  --noKeepAlive &gt; $logNum\" &amp; ");
+  $logNum++;
 }
 
-pre > code{
-	font-family:'Droid Sans Mono', 'Courier New', monospace;
+for my $j (($#nodes-6)..($#nodes)){
+mysystem("ssh $nodes[$j] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  -write -count 100 --noKeepAlive &gt; $logNum\" &amp;" );
 }
-
-img[alt="opt"]{
-	display: block;
-	margin-left: auto;
-	margin-right: auto;
+for (@wait) {
+    wait; #1がついている部分だけweit TopologyManagerだけweit 
 }
+</code></pre>
 
-img[alt="right"]{
-	margin-right: 0;
-}
 
-table {
-	margin-left: auto;
-	margin-right: auto;
-}
-
-th {
-    font-size: 120%;
-}
--->
-</style>
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-11">その言葉を待っていました</h1>
+<ul>
+  <li>開発中です</li>
+</ul>
 
 <!-- === end markdown block === -->
 </div>
--- a/paper/slides/sample.markdown	Wed Feb 21 21:21:29 2018 +0900
+++ b/paper/slides/sample.markdown	Thu Feb 22 04:12:36 2018 +0900
@@ -2,89 +2,72 @@
 author: 仲松栞
 profile:琉球大学 工学部 情報工学科  河野研
 
-# 研究背景(1/2)
+# 研究背景
 * スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している
 * この問題を解決する為に当研究室では、スケーラビリティを持つ分散データベースとしてJungleを開発している
 * ここで言うスケーラビリティとは、複数のマシンに処理を分散させたりすることで、システムの処理能力を向上させる性能を指す
 
-# 研究背景(2/2)
-* 一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している
-* JungleはNoSQLを元に開発されており、木構造等の複雑なデータをそのまま読み込むことができる
-* Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している
-* Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している
-
 # 問題提起
 * これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた
-* 出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった
+* Webサーバーを使用した測定方法は、Jungleに合わせたテストの準備が難しい
+* また、出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった
 
 # 研究目的
 * Jungle単体の分散性能を測定できる環境を構築したい
 * また、Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくしたい
-* 本研究では、Webサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
-  変更が全体に伝搬するまでの実験を行なった
+* 本研究ではWebサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、変更が全体に伝搬するまでの実験を行える環境を構築した
 
 # JUngleデータベースの構造
-* 一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採用している
-* NoSQLを元に開発されている為、RDBと異なり、木構造等の複雑なデータをそのまま読み込める
-* Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している
-
-# Jungleの分散機構(1/2)
-* Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している
-* 並列環境上のノード間でデータの衝突が起きるのを避ける為、JungleにはMergeの機能が実装されている
-
-#Jungleの分散機構(2/2)
-* Jungleの分散機構はツリートポロジーを想定している
-* ツリー型であれば、データの整合性をとる場合、一度トップまでデータを伝搬させることで行える
-* ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである
-
-<div align="center"><img src="./pictures/tree.pdf" style="center"></div>
+* 一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採
+用している
+* 木の変更を非破壊で行なっている
+* 木の変更をLogとして持っている
+* そのLogを通信することにより、木を分散させる
+* Logの通信には当研究で開発している分散フレームワークAliceを用いている
+* 異なる変更履歴を1つにまとめるMergeという機能を持っている
 
-#TreeOperationLog
-* TreeOperationLogには、Jungleのノード編集の履歴が入っている。
-* TreeOperationLogはAliceでも扱えるようシリアライズされている
-* Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。
+# Jungleの分散機構
+* Jungleの分散機構はツリートポロジーを想定している
+* ツリー型であれば、一度トップまでデータを伝搬させることでデータの整合性を取ることができる
 
-  
+<div align="center"><img src="./pictures/tree.svg" style="center"></div>
 
-#評価実験 
-* 学科から16台のVMを借り,15台でJungleを1つずつ起動し、分散させる
-* 15台のJungleはAliceのTopologyManagerでツリートポロジーを形成する
-* 1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する
+#実験の準備
+* Webサーバーを取り除いた、Jungleの純粋な性能を計測する環境を構築する
+* 学科のVM16台でPCクラスタを構築し、クラスタ上にジョブスケジューラーTORQUEを設定した
+* 他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している
 
-<div align="center"><img src="./pictures/gaiyou.pdf" style="center"></div>
-
-# 実験環境
-* 学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った
-* 他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している
+* 本研究で用いたVMの性能を以下に示す
 <table style="border-collapse: collapse;border:1px solid #000000;">
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">マシン台数</th>
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">OS</th>
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">CPU</th>
-	<th style="border:1px solid #000000;padding:5px 15px 5px 15px;">Memory</th>
+        <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">Memory</th>
 
         <tr>
         <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">16台</td>
         <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">CentOS Linux release 7.2.1511 (Core) </td>
-        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;"></td>
-	<td style="border:1px solid #000000;padding:5px 15px 5px 15px;">16GB</td>
+        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">QEMU Virtual CPU 2.3GHz</td>
+        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">1GB</td>
         </tr>
 </table>
 
 
+#TORQUE Resource Manager
+* TORQUEはジョブを管理・投下・実行する3つの処理で構成されている
+* ジョブの管理・投下を担うヘッダーノードから、ジョブの実行を担う計算ノードへジョブが投下される
+* 本実験では、TORQUEを用いて、計測用のスクリプトを15台のJungleに一度に投入するスクリプトを投入した
 
-#TORQUE Resource Manager
-* TORQUEはジョブを管理・投下・実行する3つのデーモンで構 成されており、ジョブの管理・投下を担うデーモンが稼働しているヘッダーノードから、 ジョブの実行を担うデーモンが稼働している計算ノードへジョブが投下される
-* 本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した
+<div align="center"><img src="./pictures/torque.svg" style="center"></div>
 
-<div align="center"><img src="./pictures/torque.pdf" style="center"></div>
 
 #TORQUEの使い方
-* ジョブはqsubで投入
+* ジョブはqsubコマンドで投入
 ```c
 $ qsub scripts/LogupdateTest-qsub.sh 
 ```
-* ジョブの処理状況はqstatで確認できる
-	* その際、Rは処理中であり、Cは処理完了を表している
+* ジョブの処理状況はqstatコマンドで確認できる
+	* Sは現在のジョブの処理状況を示し、Rは処理中であり、Cは処理完了を表している
 ```c
 $ qstat
 
@@ -93,36 +76,61 @@
 563.tino-VM1              LogUpdateTest    ie-user                 0 C jungle 
 ```
 
+# 
+* 以上が実験の環境についての説明である
+* つづいて、このTORQUEを用いて、Jungleの分散性能を測定する
 
-#TORQUEを使うにあたり工夫した所
-* TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない
-* 実験が終了したらタスクを終了させるコードを実装した
-	* データ書き込みの最後にnullLogを送ると全体が終了するコードを実装した
-
-#分散フレームワークAlice
-* Aliceは当研究室で開発している並列分散フレームワークである
-* Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する 
-* 本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間のデータの通信を行なった
+# 実験
+* 以下にJungleの分散性能を測定する手順を示す
+<div>
+        <img src="./pictures/gaiyou.svg" alt="message" style="float: left;width: 50%;">
+        <div style="float: right; width: 50%;">
+        <ul>
+            <li>1台でTopologyManagerを起動し,残りの15台でJungleを1つずつ起動する</li>
+            <li>TopologyManagerは指定されたトポロジーの情報に従い、接続先の情報をJungleノードに送る</li>
+            <li>Jungleは送られてきた接続先のIPアドレス、ポート番号、接続名に従い、トポロジーを形成する</li>
+            <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する</li>
+      </ul>
+      </div>
+      <div style="clear: both;"></div>
+</div>
 
 #TopologyManager
-* TopologyManagerは、ネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である
+* TopologyManagerは、Aliceが持つネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である
 * TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。
-* 本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。
+* 本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJungleでツリートポロジーを構成させた。
 
-<div align="center"><img src="./pictures/topologymanager6.pdf" style="center"></div>
+<div align="center"><img src="./pictures/topologymanager6.svg" style="center"></div>
 
-# 結果/本研究で工夫した所
-* 無事7台の子ノードJungleからデータが書き込まれ、rootノードJungleへデータがmergeされた時間を計測できた 
-* JungleとAliceで生じていたJava等のバージョンのズレを修正した
-* 測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した
-* mavenリポジトリのキャッシュをクリアし、アップデートできた
+# 実験をするにあたりぶつかった問題点とその対処法
+* ところが、TORQUEにジョブを投入しても、実験がうまくいかなかった
+* 原因は、Jungleには、自身の処理を終了させる機能が備わっていないことだった
+	* Jungleがデータを書き込み終わる時に、TopologyManagerへnullLogを送るコードを実装した
+	* TopologyManagerはnullLogを受け取ることで、全てのノードがタスクを終了したことを確認する
+	* 確認とともに、TopologyManagerはJungleへ"finish"を送り、テストを終了させる
 
-# 今後の課題
+# 実験の準備の為に行なったこと
+* TORQUEに使用するperlスクリプトを用意した
+* 
+* また、環境構築の際に、JungleとAliceは異なるパッケージで作られていた為、バージョンがズレていた
+	* mavenリポジトリのキャッシュをクリアし、アップデートを行うことで修正した 
+
+# まとめと今後の課題
+* 本研究ではJungleの分散性能の測定方法の提案と測定環境の構築を行なった
+* それにあたり、Jungleが自身を終了させることができない問題が起きた
+	* データ書き込みの最後にTopologyManagerにnullLogを送り、Jungleを終了させるコードを実装した
+
 * 今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい
 * 再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
 	* 方法としては、他のノード、もしくはディスクからデータを読み込む
-* ディスク上にあるツリートポロジーを読み出すプロトコルを定義したい
-	
+* ディスク上にあるJungleの木を読み出すプロトコルを定義したい
+
+# 分散フレームワークAlice
+* Aliceは当研究室で開発している並列分散フレームワークである
+* Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する
+
+* 本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間>のデータの通信を行なった
+
 #計測結果(1/2)
 * 1台に書き込み/1回書き込み
 ```c
@@ -177,51 +185,27 @@
 * Logディレクトリに移動し,今回政策したperlスクリプトを実行している
 * 実行結果がLogディレクトリに吐き出される
 
-<style type="text/css">
-<!--
-*{
-	font:nomal 100% 'PT Sans';
-}
-
-ul > li{
-	list-style-type:disc;
-}
-
-.slide h1{
-	text-align:left;
-	color:#777777;
-	font:bold 40px/1.13 'PT Sans', sans-serif;
-	margin-bottom: 50px;
-}
-
-div#slide1 h1{
-	text-align:left;
-	color:#777777;
-	font:bold 60px 'PT Sans', sans-serif;
-	margin-bottom: 50px;
+#perlスクリプト
+```c
+mysystem("cd $jungleDir; ruby scripts/tree.rb $nodeNum > scripts/tree.dot");
+mkdir "$logFile";
+mysystem("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 > $logNum\" ",1);
+$logNum++;
+sleep 10;
+for my $i (1..($#nodes-7)) {
+  mysystem("ssh $nodes[$i] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  --noKeepAlive > $logNum\" & ");
+  $logNum++;
 }
 
-pre > code{
-	font-family:'Droid Sans Mono', 'Courier New', monospace;
+for my $j (($#nodes-6)..($#nodes)){
+mysystem("ssh $nodes[$j] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  -write -count 100 --noKeepAlive > $logNum\" &" );
 }
-
-img[alt="opt"]{
-	display: block;
-	margin-left: auto;
-	margin-right: auto;
+for (@wait) {
+    wait; #1がついている部分だけweit TopologyManagerだけweit 
 }
+```
 
-img[alt="right"]{
-	margin-right: 0;
-}
 
-table {
-	margin-left: auto;
-	margin-right: auto;
-}
+# その言葉を待っていました
+* 開発中です
 
-th {
-    font-size: 120%;
-}
--->
-</style>
--- a/paper/slides/sample.pdf.html	Wed Feb 21 21:21:29 2018 +0900
+++ b/paper/slides/sample.pdf.html	Thu Feb 22 04:12:36 2018 +0900
@@ -70,12 +70,12 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin14]
-                on 2018-02-21 21:20:30 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-22 04:12:15 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
 <!-- _S9SLIDE_ -->
-<h1 id="section">研究背景(1/2)</h1>
+<h1 id="section">研究背景</h1>
 <ul>
   <li>スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している</li>
   <li>この問題を解決する為に当研究室では、スケーラビリティを持つ分散データベースとしてJungleを開発している</li>
@@ -86,34 +86,22 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-1">研究背景(2/2)</h1>
+<h1 id="section-1">問題提起</h1>
 <ul>
-  <li>一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している</li>
-  <li>JungleはNoSQLを元に開発されており、木構造等の複雑なデータをそのまま読み込むことができる</li>
-  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
+  <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
+  <li>Webサーバーを使用した測定方法は、Jungleに合わせたテストの準備が難しい</li>
+  <li>また、出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-2">問題提起</h1>
-<ul>
-  <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
-  <li>出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-3">研究目的</h1>
+<h1 id="section-2">研究目的</h1>
 <ul>
   <li>Jungle単体の分散性能を測定できる環境を構築したい</li>
   <li>また、Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくしたい</li>
-  <li>本研究では、Webサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
-変更が全体に伝搬するまでの実験を行なった</li>
+  <li>本研究ではWebサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、変更が全体に伝搬するまでの実験を行える環境を構築した</li>
 </ul>
 
 
@@ -122,78 +110,51 @@
 <!-- _S9SLIDE_ -->
 <h1 id="jungle">JUngleデータベースの構造</h1>
 <ul>
-  <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採用している</li>
-  <li>NoSQLを元に開発されている為、RDBと異なり、木構造等の複雑なデータをそのまま読み込める</li>
-  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="jungle12">Jungleの分散機構(1/2)</h1>
-<ul>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
-  <li>並列環境上のノード間でデータの衝突が起きるのを避ける為、JungleにはMergeの機能が実装されている</li>
+  <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採
+用している</li>
+  <li>木の変更を非破壊で行なっている</li>
+  <li>木の変更をLogとして持っている</li>
+  <li>そのLogを通信することにより、木を分散させる</li>
+  <li>Logの通信には当研究で開発している分散フレームワークAliceを用いている</li>
+  <li>異なる変更履歴を1つにまとめるMergeという機能を持っている</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="jungle22">Jungleの分散機構(2/2)</h1>
+<h1 id="jungle-1">Jungleの分散機構</h1>
 <ul>
   <li>Jungleの分散機構はツリートポロジーを想定している</li>
-  <li>ツリー型であれば、データの整合性をとる場合、一度トップまでデータを伝搬させることで行える</li>
-  <li>ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである</li>
+  <li>ツリー型であれば、一度トップまでデータを伝搬させることでデータの整合性を取ることができる</li>
 </ul>
 
-<div align="center"><img src="./pictures/tree.pdf" style="center" /></div>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="treeoperationlog">TreeOperationLog</h1>
-<ul>
-  <li>TreeOperationLogには、Jungleのノード編集の履歴が入っている。</li>
-  <li>TreeOperationLogはAliceでも扱えるようシリアライズされている</li>
-  <li>Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。</li>
-</ul>
+<div align="center"><img src="./pictures/tree.svg" style="center" /></div>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-4">評価実験</h1>
+<h1 id="section-3">実験の準備</h1>
 <ul>
-  <li>学科から16台のVMを借り,15台でJungleを1つずつ起動し、分散させる</li>
-  <li>15台のJungleはAliceのTopologyManagerでツリートポロジーを形成する</li>
-  <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する</li>
-</ul>
-
-<div align="center"><img src="./pictures/gaiyou.pdf" style="center" /></div>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-5">実験環境</h1>
-<ul>
-  <li>学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
-  <li>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</li>
+  <li>Webサーバーを取り除いた、Jungleの純粋な性能を計測する環境を構築する</li>
+  <li>学科のVM16台でPCクラスタを構築し、クラスタ上にジョブスケジューラーTORQUEを設定した</li>
+  <li>
+    <p>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</p>
+  </li>
+  <li>本研究で用いたVMの性能を以下に示す</li>
 </ul>
 <table style="border-collapse: collapse;border:1px solid #000000;">
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">マシン台数</th>
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">OS</th>
         <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">CPU</th>
-	<th style="border:1px solid #000000;padding:5px 15px 5px 15px;">Memory</th>
+        <th style="border:1px solid #000000;padding:5px 15px 5px 15px;">Memory</th>
 
         <tr>
         <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">16台</td>
         <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">CentOS Linux release 7.2.1511 (Core) </td>
-        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;"></td>
-	<td style="border:1px solid #000000;padding:5px 15px 5px 15px;">16GB</td>
+        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">QEMU Virtual CPU 2.3GHz</td>
+        <td style="border:1px solid #000000;padding:5px 15px 5px 15px;">1GB</td>
         </tr>
 </table>
 
@@ -203,11 +164,12 @@
 <!-- _S9SLIDE_ -->
 <h1 id="torque-resource-manager">TORQUE Resource Manager</h1>
 <ul>
-  <li>TORQUEはジョブを管理・投下・実行する3つのデーモンで構 成されており、ジョブの管理・投下を担うデーモンが稼働しているヘッダーノードから、 ジョブの実行を担うデーモンが稼働している計算ノードへジョブが投下される</li>
-  <li>本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した</li>
+  <li>TORQUEはジョブを管理・投下・実行する3つの処理で構成されている</li>
+  <li>ジョブの管理・投下を担うヘッダーノードから、ジョブの実行を担う計算ノードへジョブが投下される</li>
+  <li>本実験では、TORQUEを用いて、計測用のスクリプトを15台のJungleに一度に投入するスクリプトを投入した</li>
 </ul>
 
-<div align="center"><img src="./pictures/torque.pdf" style="center" /></div>
+<div align="center"><img src="./pictures/torque.svg" style="center" /></div>
 
 
 </div>
@@ -215,14 +177,14 @@
 <!-- _S9SLIDE_ -->
 <h1 id="torque">TORQUEの使い方</h1>
 <ul lang="c">
-  <li>ジョブはqsubで投入</li>
+  <li>ジョブはqsubコマンドで投入</li>
 </ul>
 <pre><code>$ qsub scripts/LogupdateTest-qsub.sh 
 </code></pre>
 <ul lang="c">
-  <li>ジョブの処理状況はqstatで確認できる
+  <li>ジョブの処理状況はqstatコマンドで確認できる
     <ul>
-      <li>その際、Rは処理中であり、Cは処理完了を表している</li>
+      <li>Sは現在のジョブの処理状況を示し、Rは処理中であり、Cは処理完了を表している</li>
     </ul>
   </li>
 </ul>
@@ -233,16 +195,56 @@
 563.tino-VM1              LogUpdateTest    ie-user                 0 C jungle 
 </code></pre>
 
+<p># 
+* 以上が実験の環境についての説明である
+* つづいて、このTORQUEを用いて、Jungleの分散性能を測定する</p>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-4">実験</h1>
+<ul>
+  <li>以下にJungleの分散性能を測定する手順を示す</li>
+</ul>
+<div>
+        <img src="./pictures/gaiyou.svg" alt="message" style="float: left;width: 50%;" />
+        <div style="float: right; width: 50%;">
+        <ul>
+            <li>1台でTopologyManagerを起動し,残りの15台でJungleを1つずつ起動する</li>
+            <li>TopologyManagerは指定されたトポロジーの情報に従い、接続先の情報をJungleノードに送る</li>
+            <li>Jungleは送られてきた接続先のIPアドレス、ポート番号、接続名に従い、トポロジーを形成する</li>
+            <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する</li>
+      </ul>
+      </div>
+      <div style="clear: both;"></div>
+</div>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="topologymanager">TopologyManager</h1>
+<ul>
+  <li>TopologyManagerは、Aliceが持つネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である</li>
+  <li>TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。</li>
+  <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJungleでツリートポロジーを構成させた。</li>
+</ul>
+
+<div align="center"><img src="./pictures/topologymanager6.svg" style="center" /></div>
+
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="torque-1">TORQUEを使うにあたり工夫した所</h1>
+<h1 id="section-5">実験をするにあたりぶつかった問題点とその対処法</h1>
 <ul>
-  <li>TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない</li>
-  <li>実験が終了したらタスクを終了させるコードを実装した
+  <li>ところが、TORQUEにジョブを投入しても、実験がうまくいかなかった</li>
+  <li>原因は、Jungleには、自身の処理を終了させる機能が備わっていないことだった
     <ul>
-      <li>データ書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
+      <li>Jungleがデータを書き込み終わる時に、TopologyManagerへnullLogを送るコードを実装した</li>
+      <li>TopologyManagerはnullLogを受け取ることで、全てのノードがタスクを終了したことを確認する</li>
+      <li>確認とともに、TopologyManagerはJungleへ”finish”を送り、テストを終了させる</li>
     </ul>
   </li>
 </ul>
@@ -251,51 +253,49 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
+<h1 id="section-6">実験の準備の為に行なったこと</h1>
+<ul>
+  <li>TORQUEに使用するperlスクリプトを用意した</li>
+  <li></li>
+  <li>また、環境構築の際に、JungleとAliceは異なるパッケージで作られていた為、バージョンがズレていた
+    <ul>
+      <li>mavenリポジトリのキャッシュをクリアし、アップデートを行うことで修正した</li>
+    </ul>
+  </li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-7">まとめと今後の課題</h1>
+<ul>
+  <li>本研究ではJungleの分散性能の測定方法の提案と測定環境の構築を行なった</li>
+  <li>それにあたり、Jungleが自身を終了させることができない問題が起きた
+    <ul>
+      <li>データ書き込みの最後にTopologyManagerにnullLogを送り、Jungleを終了させるコードを実装した</li>
+    </ul>
+  </li>
+  <li>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</li>
+  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
+    <ul>
+      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
+    </ul>
+  </li>
+  <li>ディスク上にあるJungleの木を読み出すプロトコルを定義したい</li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
 <h1 id="alice">分散フレームワークAlice</h1>
 <ul>
   <li>Aliceは当研究室で開発している並列分散フレームワークである</li>
-  <li>Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する</li>
-  <li>本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間のデータの通信を行なった</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="topologymanager">TopologyManager</h1>
-<ul>
-  <li>TopologyManagerは、ネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である</li>
-  <li>TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。</li>
-  <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。</li>
-</ul>
-
-<div align="center"><img src="./pictures/topologymanager6.pdf" style="center" /></div>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-6">結果/本研究で工夫した所</h1>
-<ul>
-  <li>無事7台の子ノードJungleからデータが書き込まれ、rootノードJungleへデータがmergeされた時間を計測できた</li>
-  <li>JungleとAliceで生じていたJava等のバージョンのズレを修正した</li>
-  <li>測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-  <li>mavenリポジトリのキャッシュをクリアし、アップデートできた</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-7">今後の課題</h1>
-<ul>
-  <li>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</li>
-  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
-    <ul>
-      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
-    </ul>
+  <li>
+    <p>Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する</p>
   </li>
-  <li>ディスク上にあるツリートポロジーを読み出すプロトコルを定義したい</li>
+  <li>本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間&gt;のデータの通信を行なった</li>
 </ul>
 
 
@@ -369,54 +369,37 @@
   <li>実行結果がLogディレクトリに吐き出される</li>
 </ul>
 
-<style type="text/css">
-<!--
-*{
-	font:nomal 100% 'PT Sans';
-}
 
-ul > li{
-	list-style-type:disc;
-}
-
-.slide h1{
-	text-align:left;
-	color:#777777;
-	font:bold 40px/1.13 'PT Sans', sans-serif;
-	margin-bottom: 50px;
-}
-
-div#slide1 h1{
-	text-align:left;
-	color:#777777;
-	font:bold 60px 'PT Sans', sans-serif;
-	margin-bottom: 50px;
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 lang="c" id="perl">perlスクリプト</h1>
+<pre><code>mysystem("cd $jungleDir; ruby scripts/tree.rb $nodeNum &gt; scripts/tree.dot");
+mkdir "$logFile";
+mysystem("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 &gt; $logNum\" ",1);
+$logNum++;
+sleep 10;
+for my $i (1..($#nodes-7)) {
+  mysystem("ssh $nodes[$i] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  --noKeepAlive &gt; $logNum\" &amp; ");
+  $logNum++;
 }
 
-pre > code{
-	font-family:'Droid Sans Mono', 'Courier New', monospace;
+for my $j (($#nodes-6)..($#nodes)){
+mysystem("ssh $nodes[$j] \"cd $logFile;java -jar ../../build/libs/logupdateTest-1.1.jar -host $nodes[0] -p 10003 -port 10000  -write -count 100 --noKeepAlive &gt; $logNum\" &amp;" );
 }
-
-img[alt="opt"]{
-	display: block;
-	margin-left: auto;
-	margin-right: auto;
+for (@wait) {
+    wait; #1がついている部分だけweit TopologyManagerだけweit 
 }
+</code></pre>
 
-img[alt="right"]{
-	margin-right: 0;
-}
 
-table {
-	margin-left: auto;
-	margin-right: auto;
-}
-
-th {
-    font-size: 120%;
-}
--->
-</style>
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-11">その言葉を待っていました</h1>
+<ul>
+  <li>開発中です</li>
+</ul>
 
 <!-- === end markdown block === -->
 </div>