changeset 40:9978f2fd4954

slide fix
author suruga
date Wed, 21 Feb 2018 21:21:29 +0900
parents 48fbb9e3c335
children cd2d73cb6b2c
files paper/.DS_Store paper/final_main/.DS_Store paper/final_main/pic/topologymanager2.graffle paper/final_main/result/result.txt paper/slides/sample.html paper/slides/sample.markdown paper/slides/sample.pdf.html
diffstat 7 files changed, 354 insertions(+), 146 deletions(-) [+]
line wrap: on
line diff
Binary file paper/.DS_Store has changed
Binary file paper/final_main/.DS_Store has changed
Binary file paper/final_main/pic/topologymanager2.graffle has changed
--- a/paper/final_main/result/result.txt	Wed Feb 21 18:16:11 2018 +0900
+++ b/paper/final_main/result/result.txt	Wed Feb 21 21:21:29 2018 +0900
@@ -356,9 +356,8 @@
 hostname: node14  time  = 20 
 hostname: node14  time  = 19 
 hostname: node14  time  = 18 
-hostname: node14  time  = 18 
-hostname: node14  time  = 5 
-hostname: node14  time  = 4 
+hostname: node14  time  = 5
+hostname: node14  time  = 4
 LogUpdator: write to node parent from local
 
 !-write 2
--- a/paper/slides/sample.html	Wed Feb 21 18:16:11 2018 +0900
+++ b/paper/slides/sample.html	Wed Feb 21 21:21:29 2018 +0900
@@ -86,7 +86,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin14]
-                on 2018-02-21 18:15:45 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-21 21:20:30 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
@@ -105,8 +105,8 @@
 <h1 id="section-1">研究背景(2/2)</h1>
 <ul>
   <li>一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している</li>
-  <li>JungleはNoSQLで開発されており、木構造をそのまま読み込むことが可能</li>
-  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している。</li>
+  <li>JungleはNoSQLを元に開発されており、木構造等の複雑なデータをそのまま読み込むことができる</li>
+  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
   <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
 </ul>
 
@@ -117,7 +117,7 @@
 <h1 id="section-2">問題提起</h1>
 <ul>
   <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
-  <li>Jungleの単体の分散性能を測定したい</li>
+  <li>出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった</li>
 </ul>
 
 
@@ -126,9 +126,10 @@
 <!-- _S9SLIDE_ -->
 <h1 id="section-3">研究目的</h1>
 <ul>
-  <li>Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくする為
-木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
-変更が全体に伝搬するまでの実験をできるようにする</li>
+  <li>Jungle単体の分散性能を測定できる環境を構築したい</li>
+  <li>また、Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくしたい</li>
+  <li>本研究では、Webサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
+変更が全体に伝搬するまでの実験を行なった</li>
 </ul>
 
 
@@ -138,7 +139,7 @@
 <h1 id="jungle">JUngleデータベースの構造</h1>
 <ul>
   <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採用している</li>
-  <li>NoSQLを元に開発されている為、RDBと異なり、木構造をそのまま読み込める</li>
+  <li>NoSQLを元に開発されている為、RDBと異なり、木構造等の複雑なデータをそのまま読み込める</li>
   <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
 </ul>
 
@@ -148,8 +149,8 @@
 <!-- _S9SLIDE_ -->
 <h1 id="jungle12">Jungleの分散機構(1/2)</h1>
 <ul>
-  <li>ノード間でデータの衝突が起きるのを避ける為、Mergeの機能が実装されている</li>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している</li>
+  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
+  <li>並列環境上のノード間でデータの衝突が起きるのを避ける為、JungleにはMergeの機能が実装されている</li>
 </ul>
 
 
@@ -160,8 +161,20 @@
 <ul>
   <li>Jungleの分散機構はツリートポロジーを想定している</li>
   <li>ツリー型であれば、データの整合性をとる場合、一度トップまでデータを伝搬させることで行える</li>
-  <li>ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである
-<img src="./pictures/tree.pdf" alt="tree" width="60%" /></li>
+  <li>ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである</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>
 
 
@@ -172,10 +185,11 @@
 <ul>
   <li>学科から16台のVMを借り,15台でJungleを1つずつ起動し、分散させる</li>
   <li>15台のJungleはAliceのTopologyManagerでツリートポロジーを形成する</li>
-  <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する
-(画像)</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 '>
@@ -185,6 +199,19 @@
   <li>学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
   <li>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</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>
+
+        <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>
+        </tr>
+</table>
 
 
 </div>
@@ -196,20 +223,31 @@
   <li>本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した</li>
 </ul>
 
+<div align="center"><img src="./pictures/torque.pdf" style="center" /></div>
+
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
 <h1 id="torque">TORQUEの使い方</h1>
-<ul>
+<ul lang="c">
   <li>ジョブはqsubで投入</li>
+</ul>
+<pre><code>$ qsub scripts/LogupdateTest-qsub.sh 
+</code></pre>
+<ul lang="c">
   <li>ジョブの処理状況はqstatで確認できる
     <ul>
-      <li>その際、Rは処理中であり、Cは処理完了を表している
-(ジョブの状態のテキストを貼る)</li>
+      <li>その際、Rは処理中であり、Cは処理完了を表している</li>
     </ul>
   </li>
 </ul>
+<pre><code>$ qstat
+
+Job ID                    Name             User            Time Use  S Queue
+------------------------- ---------------- ---------------  -------- - -----
+563.tino-VM1              LogUpdateTest    ie-user                 0 C jungle 
+</code></pre>
 
 
 </div>
@@ -220,7 +258,7 @@
   <li>TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない</li>
   <li>実験が終了したらタスクを終了させるコードを実装した
     <ul>
-      <li>書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
+      <li>データ書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
     </ul>
   </li>
 </ul>
@@ -247,74 +285,105 @@
   <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。</li>
 </ul>
 
+<div align="center"><img src="./pictures/topologymanager6.pdf" style="center" /></div>
+
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="treeoperationlog">TreeOperationLog</h1>
+<h1 id="section-6">結果/本研究で工夫した所</h1>
 <ul>
-  <li>TreeOperationLogには、Jungleのノード編集の履歴が入っている。</li>
-  <li>TreeOperationLogはAliceでも扱えるようシリアライズされている</li>
-  <li>Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。</li>
+  <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-6">用意したスクリプト</h1>
+<h1 id="section-7">今後の課題</h1>
 <ul>
-  <li>任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-7">結果</h1>
-<ul>
-  <li>無事7台の子ノードJungleからデータが書き込まれ、ルートノードJungleへデータがmergeされた時間を計測できた</li>
+  <li>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</li>
+  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
+    <ul>
+      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
+    </ul>
+  </li>
+  <li>ディスク上にあるツリートポロジーを読み出すプロトコルを定義したい</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-8">まとめ</h1>
-<ul>
-  <li>JungleとAliceで生じていたJava等のバージョンのズレを修正した</li>
-  <li>測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-  <li>mavenリポジトリのキャッシュをクリアすることアップデートできた</li>
+<h1 id="section-8">計測結果(1/2)</h1>
+<ul lang="c">
+  <li>1台に書き込み/1回書き込み</li>
 </ul>
+<pre><code>TopologymanagerTime = 5285
+
+hostname: node6  time  = 214 
+</code></pre>
+<ul lang="c">
+  <li>7台に書き込み/1回書き込み</li>
+</ul>
+<pre><code>TopologymanagerTime = 5115
+
+hostname: node9  time  = 98 
+
+</code></pre>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-9">今後の課題</h1>
-<ul>
-  <li>
-    <p>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</p>
-  </li>
-  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
-    <ul>
-      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
-    </ul>
-  </li>
-  <li>ディスク上にしかないツリートポロジーを読み出すプロトコルを定義したい</li>
+<h1 id="section-9">計測結果(2/2)</h1>
+<ul lang="c">
+  <li>1台に書き込み/100回書き込み</li>
 </ul>
+<pre><code>TopologymanagerTime = 5425
+
+hostname: node14  time  = 278 
+hostname: node14  time  = 210 
+           ...
+hostname: node14  time  = 5 
+hostname: node14  time  = 4 
+</code></pre>
+<ul lang="c">
+  <li>7台に書き込み/100回書き込み</li>
+</ul>
+<pre><code>TopologymanagerTime = 5351
+
+hostname: node10  time  = 290 
+hostname: node10  time  = 209 
+           ...
+hostname: node10  time  = 17 
+hostname: node10  time  = 16
+</code></pre>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-10">計測結果</h1>
-
+<h1 lang="c" id="section-10">ジョブスクリプト</h1>
+<pre><code>#!/bin/sh
+#PBS -q jungle
+#PBS -N LogUpdateTest
+#PBS -l nodes=16,walltime=00:08:00
 
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-11">ジョブスクリプト</h1>
+cd /mnt/data/jungle_workspace/Log
+/usr/bin/perl /mnt/data/jungle_workspace/scripts/LogupdateTest.pl
+</code></pre>
+<ul>
+  <li>-q … queueを指定。</li>
+  <li>-N … 実行結果の出力ファイル名</li>
+  <li>nodes … 使用するnodeの台数、</li>
+  <li>walltime … 実行制限時間</li>
+  <li>Logディレクトリに移動し,今回政策したperlスクリプトを実行している</li>
+  <li>実行結果がLogディレクトリに吐き出される</li>
+</ul>
 
 <style type="text/css">
 <!--
--- a/paper/slides/sample.markdown	Wed Feb 21 18:16:11 2018 +0900
+++ b/paper/slides/sample.markdown	Wed Feb 21 21:21:29 2018 +0900
@@ -9,59 +9,95 @@
 
 # 研究背景(2/2)
 * 一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している
-* JungleはNoSQLで開発されており、木構造をそのまま読み込むことが可能
-* Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している。
+* JungleはNoSQLを元に開発されており、木構造等の複雑なデータをそのまま読み込むことができる
+* Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している
 * Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している
 
 # 問題提起
 * これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた
-* Jungleの単体の分散性能を測定したい
+* 出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった
 
 # 研究目的
-* Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくする為
-  木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
-  変更が全体に伝搬するまでの実験をできるようにする
+* Jungle単体の分散性能を測定できる環境を構築したい
+* また、Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくしたい
+* 本研究では、Webサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
+  変更が全体に伝搬するまでの実験を行なった
 
 # JUngleデータベースの構造
 * 一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採用している
-* NoSQLを元に開発されている為、RDBと異なり、木構造をそのまま読み込める
+* NoSQLを元に開発されている為、RDBと異なり、木構造等の複雑なデータをそのまま読み込める
 * Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している
 
 # Jungleの分散機構(1/2)
-* ノード間でデータの衝突が起きるのを避ける為、Mergeの機能が実装されている
-* Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している
-
+* Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している
+* 並列環境上のノード間でデータの衝突が起きるのを避ける為、JungleにはMergeの機能が実装されている
 
 #Jungleの分散機構(2/2)
 * Jungleの分散機構はツリートポロジーを想定している
 * ツリー型であれば、データの整合性をとる場合、一度トップまでデータを伝搬させることで行える
 * ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである
-![tree](./pictures/tree.pdf){:width="60%"}
+
+<div align="center"><img src="./pictures/tree.pdf" style="center"></div>
+
+#TreeOperationLog
+* TreeOperationLogには、Jungleのノード編集の履歴が入っている。
+* TreeOperationLogはAliceでも扱えるようシリアライズされている
+* Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。
+
+  
 
 #評価実験 
 * 学科から16台のVMを借り,15台でJungleを1つずつ起動し、分散させる
 * 15台のJungleはAliceのTopologyManagerでツリートポロジーを形成する
 * 1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する
-(画像)
+
+<div align="center"><img src="./pictures/gaiyou.pdf" style="center"></div>
 
 # 実験環境
 * 学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った
 * 他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している
+<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>
+
+        <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>
+        </tr>
+</table>
+
+
 
 #TORQUE Resource Manager
 * TORQUEはジョブを管理・投下・実行する3つのデーモンで構 成されており、ジョブの管理・投下を担うデーモンが稼働しているヘッダーノードから、 ジョブの実行を担うデーモンが稼働している計算ノードへジョブが投下される
 * 本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した
 
+<div align="center"><img src="./pictures/torque.pdf" style="center"></div>
+
 #TORQUEの使い方
 * ジョブはqsubで投入
+```c
+$ qsub scripts/LogupdateTest-qsub.sh 
+```
 * ジョブの処理状況はqstatで確認できる
 	* その際、Rは処理中であり、Cは処理完了を表している
-(ジョブの状態のテキストを貼る)
+```c
+$ qstat
+
+Job ID                    Name             User            Time Use  S Queue
+------------------------- ---------------- ---------------  -------- - -----
+563.tino-VM1              LogUpdateTest    ie-user                 0 C jungle 
+```
+
 
 #TORQUEを使うにあたり工夫した所
 * TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない
 * 実験が終了したらタスクを終了させるコードを実装した
-	* 書き込みの最後にnullLogを送ると全体が終了するコードを実装した
+	* データ書き込みの最後にnullLogを送ると全体が終了するコードを実装した
 
 #分散フレームワークAlice
 * Aliceは当研究室で開発している並列分散フレームワークである
@@ -73,38 +109,73 @@
 * TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。
 * 本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。
 
-#TreeOperationLog
-* TreeOperationLogには、Jungleのノード編集の履歴が入っている。
-* TreeOperationLogはAliceでも扱えるようシリアライズされている
-* Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。
+<div align="center"><img src="./pictures/topologymanager6.pdf" style="center"></div>
 
-#用意したスクリプト
-* 任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した
-
-#結果
-* 無事7台の子ノードJungleからデータが書き込まれ、ルートノードJungleへデータがmergeされた時間を計測できた
-
- 
-# まとめ 
+# 結果/本研究で工夫した所
+* 無事7台の子ノードJungleからデータが書き込まれ、rootノードJungleへデータがmergeされた時間を計測できた 
 * JungleとAliceで生じていたJava等のバージョンのズレを修正した
 * 測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した
-* mavenリポジトリのキャッシュをクリアすることアップデートできた
+* mavenリポジトリのキャッシュをクリアし、アップデートできた
 
 # 今後の課題
 * 今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい
-	
 * 再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
 	* 方法としては、他のノード、もしくはディスクからデータを読み込む
-
-* ディスク上にしかないツリートポロジーを読み出すプロトコルを定義したい
+* ディスク上にあるツリートポロジーを読み出すプロトコルを定義したい
 	
-#計測結果
+#計測結果(1/2)
+* 1台に書き込み/1回書き込み
+```c
+TopologymanagerTime = 5285
+
+hostname: node6  time  = 214 
+```
+* 7台に書き込み/1回書き込み
+```c
+TopologymanagerTime = 5115
+
+hostname: node9  time  = 98 
+
+```
 
+#計測結果(2/2)
+* 1台に書き込み/100回書き込み
+```c
+TopologymanagerTime = 5425
+
+hostname: node14  time  = 278 
+hostname: node14  time  = 210 
+           ...
+hostname: node14  time  = 5 
+hostname: node14  time  = 4 
+```
+* 7台に書き込み/100回書き込み
+```c
+TopologymanagerTime = 5351
+
+hostname: node10  time  = 290 
+hostname: node10  time  = 209 
+           ...
+hostname: node10  time  = 17 
+hostname: node10  time  = 16
+```
 
 #ジョブスクリプト
-
+```c
+#!/bin/sh
+#PBS -q jungle
+#PBS -N LogUpdateTest
+#PBS -l nodes=16,walltime=00:08:00
 
-
+cd /mnt/data/jungle_workspace/Log
+/usr/bin/perl /mnt/data/jungle_workspace/scripts/LogupdateTest.pl
+```
+* -q ... queueを指定。
+* -N ... 実行結果の出力ファイル名
+* nodes ... 使用するnodeの台数、
+* walltime ... 実行制限時間
+* Logディレクトリに移動し,今回政策したperlスクリプトを実行している
+* 実行結果がLogディレクトリに吐き出される
 
 <style type="text/css">
 <!--
--- a/paper/slides/sample.pdf.html	Wed Feb 21 18:16:11 2018 +0900
+++ b/paper/slides/sample.pdf.html	Wed Feb 21 21:21:29 2018 +0900
@@ -70,7 +70,7 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin14]
-                on 2018-02-21 18:15:45 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-21 21:20:30 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
@@ -89,8 +89,8 @@
 <h1 id="section-1">研究背景(2/2)</h1>
 <ul>
   <li>一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している</li>
-  <li>JungleはNoSQLで開発されており、木構造をそのまま読み込むことが可能</li>
-  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している。</li>
+  <li>JungleはNoSQLを元に開発されており、木構造等の複雑なデータをそのまま読み込むことができる</li>
+  <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
   <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
 </ul>
 
@@ -101,7 +101,7 @@
 <h1 id="section-2">問題提起</h1>
 <ul>
   <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
-  <li>Jungleの単体の分散性能を測定したい</li>
+  <li>出力結果がWebサーバーの性能に依存する為、Jungleの単体の分散性能を測定できなかった</li>
 </ul>
 
 
@@ -110,9 +110,10 @@
 <!-- _S9SLIDE_ -->
 <h1 id="section-3">研究目的</h1>
 <ul>
-  <li>Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくする為
-木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
-変更が全体に伝搬するまでの実験をできるようにする</li>
+  <li>Jungle単体の分散性能を測定できる環境を構築したい</li>
+  <li>また、Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくしたい</li>
+  <li>本研究では、Webサーバーを取り除き、木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
+変更が全体に伝搬するまでの実験を行なった</li>
 </ul>
 
 
@@ -122,7 +123,7 @@
 <h1 id="jungle">JUngleデータベースの構造</h1>
 <ul>
   <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造として木構造を採用している</li>
-  <li>NoSQLを元に開発されている為、RDBと異なり、木構造をそのまま読み込める</li>
+  <li>NoSQLを元に開発されている為、RDBと異なり、木構造等の複雑なデータをそのまま読み込める</li>
   <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している</li>
 </ul>
 
@@ -132,8 +133,8 @@
 <!-- _S9SLIDE_ -->
 <h1 id="jungle12">Jungleの分散機構(1/2)</h1>
 <ul>
-  <li>ノード間でデータの衝突が起きるのを避ける為、Mergeの機能が実装されている</li>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している</li>
+  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
+  <li>並列環境上のノード間でデータの衝突が起きるのを避ける為、JungleにはMergeの機能が実装されている</li>
 </ul>
 
 
@@ -144,8 +145,20 @@
 <ul>
   <li>Jungleの分散機構はツリートポロジーを想定している</li>
   <li>ツリー型であれば、データの整合性をとる場合、一度トップまでデータを伝搬させることで行える</li>
-  <li>ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである
-<img src="./pictures/tree.pdf" alt="tree" width="60%" /></li>
+  <li>ノード間でデータの衝突が生じても、Mergeして改めて送り直せばいいからである</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>
 
 
@@ -156,10 +169,11 @@
 <ul>
   <li>学科から16台のVMを借り,15台でJungleを1つずつ起動し、分散させる</li>
   <li>15台のJungleはAliceのTopologyManagerでツリートポロジーを形成する</li>
-  <li>1~7台の子ノードのJungleに書き込んだデータがrootノードのJungleへMergeし終わるまでの時間を計測する
-(画像)</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 '>
@@ -169,6 +183,19 @@
   <li>学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
   <li>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</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>
+
+        <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>
+        </tr>
+</table>
 
 
 </div>
@@ -180,20 +207,31 @@
   <li>本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した</li>
 </ul>
 
+<div align="center"><img src="./pictures/torque.pdf" style="center" /></div>
+
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
 <h1 id="torque">TORQUEの使い方</h1>
-<ul>
+<ul lang="c">
   <li>ジョブはqsubで投入</li>
+</ul>
+<pre><code>$ qsub scripts/LogupdateTest-qsub.sh 
+</code></pre>
+<ul lang="c">
   <li>ジョブの処理状況はqstatで確認できる
     <ul>
-      <li>その際、Rは処理中であり、Cは処理完了を表している
-(ジョブの状態のテキストを貼る)</li>
+      <li>その際、Rは処理中であり、Cは処理完了を表している</li>
     </ul>
   </li>
 </ul>
+<pre><code>$ qstat
+
+Job ID                    Name             User            Time Use  S Queue
+------------------------- ---------------- ---------------  -------- - -----
+563.tino-VM1              LogUpdateTest    ie-user                 0 C jungle 
+</code></pre>
 
 
 </div>
@@ -204,7 +242,7 @@
   <li>TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない</li>
   <li>実験が終了したらタスクを終了させるコードを実装した
     <ul>
-      <li>書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
+      <li>データ書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
     </ul>
   </li>
 </ul>
@@ -231,74 +269,105 @@
   <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。</li>
 </ul>
 
+<div align="center"><img src="./pictures/topologymanager6.pdf" style="center" /></div>
+
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="treeoperationlog">TreeOperationLog</h1>
+<h1 id="section-6">結果/本研究で工夫した所</h1>
 <ul>
-  <li>TreeOperationLogには、Jungleのノード編集の履歴が入っている。</li>
-  <li>TreeOperationLogはAliceでも扱えるようシリアライズされている</li>
-  <li>Aliceによって他のノードへTreeOperationLogを送り、そこでTreeOperationLogと同じ編集をさせることで、トポロジー上でのデータの整合性を取る。</li>
+  <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-6">用意したスクリプト</h1>
+<h1 id="section-7">今後の課題</h1>
 <ul>
-  <li>任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-</ul>
-
-
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-7">結果</h1>
-<ul>
-  <li>無事7台の子ノードJungleからデータが書き込まれ、ルートノードJungleへデータがmergeされた時間を計測できた</li>
+  <li>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</li>
+  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
+    <ul>
+      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
+    </ul>
+  </li>
+  <li>ディスク上にあるツリートポロジーを読み出すプロトコルを定義したい</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-8">まとめ</h1>
-<ul>
-  <li>JungleとAliceで生じていたJava等のバージョンのズレを修正した</li>
-  <li>測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-  <li>mavenリポジトリのキャッシュをクリアすることアップデートできた</li>
+<h1 id="section-8">計測結果(1/2)</h1>
+<ul lang="c">
+  <li>1台に書き込み/1回書き込み</li>
 </ul>
+<pre><code>TopologymanagerTime = 5285
+
+hostname: node6  time  = 214 
+</code></pre>
+<ul lang="c">
+  <li>7台に書き込み/1回書き込み</li>
+</ul>
+<pre><code>TopologymanagerTime = 5115
+
+hostname: node9  time  = 98 
+
+</code></pre>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-9">今後の課題</h1>
-<ul>
-  <li>
-    <p>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</p>
-  </li>
-  <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
-    <ul>
-      <li>方法としては、他のノード、もしくはディスクからデータを読み込む</li>
-    </ul>
-  </li>
-  <li>ディスク上にしかないツリートポロジーを読み出すプロトコルを定義したい</li>
+<h1 id="section-9">計測結果(2/2)</h1>
+<ul lang="c">
+  <li>1台に書き込み/100回書き込み</li>
 </ul>
+<pre><code>TopologymanagerTime = 5425
+
+hostname: node14  time  = 278 
+hostname: node14  time  = 210 
+           ...
+hostname: node14  time  = 5 
+hostname: node14  time  = 4 
+</code></pre>
+<ul lang="c">
+  <li>7台に書き込み/100回書き込み</li>
+</ul>
+<pre><code>TopologymanagerTime = 5351
+
+hostname: node10  time  = 290 
+hostname: node10  time  = 209 
+           ...
+hostname: node10  time  = 17 
+hostname: node10  time  = 16
+</code></pre>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-10">計測結果</h1>
-
+<h1 lang="c" id="section-10">ジョブスクリプト</h1>
+<pre><code>#!/bin/sh
+#PBS -q jungle
+#PBS -N LogUpdateTest
+#PBS -l nodes=16,walltime=00:08:00
 
-</div>
-<div class='slide '>
-<!-- _S9SLIDE_ -->
-<h1 id="section-11">ジョブスクリプト</h1>
+cd /mnt/data/jungle_workspace/Log
+/usr/bin/perl /mnt/data/jungle_workspace/scripts/LogupdateTest.pl
+</code></pre>
+<ul>
+  <li>-q … queueを指定。</li>
+  <li>-N … 実行結果の出力ファイル名</li>
+  <li>nodes … 使用するnodeの台数、</li>
+  <li>walltime … 実行制限時間</li>
+  <li>Logディレクトリに移動し,今回政策したperlスクリプトを実行している</li>
+  <li>実行結果がLogディレクトリに吐き出される</li>
+</ul>
 
 <style type="text/css">
 <!--