changeset 39:48fbb9e3c335

fix slides
author suruga
date Wed, 21 Feb 2018 18:16:11 +0900
parents 5731bcc576ea
children 9978f2fd4954
files paper/slides/sample.html paper/slides/sample.pdf.html
diffstat 2 files changed, 212 insertions(+), 62 deletions(-) [+]
line wrap: on
line diff
--- a/paper/slides/sample.html	Wed Feb 21 18:15:25 2018 +0900
+++ b/paper/slides/sample.html	Wed Feb 21 18:16:11 2018 +0900
@@ -86,14 +86,14 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin14]
-                on 2018-02-21 16:38:54 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-21 18:15:45 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
 <!-- _S9SLIDE_ -->
 <h1 id="section">研究背景(1/2)</h1>
 <ul>
-  <li>スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している。</li>
+  <li>スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している</li>
   <li>この問題を解決する為に当研究室では、スケーラビリティを持つ分散データベースとしてJungleを開発している</li>
   <li>ここで言うスケーラビリティとは、複数のマシンに処理を分散させたりすることで、システムの処理能力を向上させる性能を指す</li>
 </ul>
@@ -104,21 +104,31 @@
 <!-- _S9SLIDE_ -->
 <h1 id="section-1">研究背景(2/2)</h1>
 <ul>
-  <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造と して木構造を採用している</li>
+  <li>一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している</li>
   <li>JungleはNoSQLで開発されており、木構造をそのまま読み込むことが可能</li>
   <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している。</li>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している</li>
+  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-2">研究目的</h1>
+<h1 id="section-2">問題提起</h1>
 <ul>
-  <li>これまでJungleの分散性能を測定する方法が確立されていなかった</li>
-  <li>Jungleの分散環境上での性能を測定する環境を構築するため、</li>
-  <li>実際に分散環境上で Jungleに -write , -count オプションで負荷をかけ、処理にかかる時間を –showTime オプションで出力結果に表示した。</li>
+  <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
+  <li>Jungleの単体の分散性能を測定したい</li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-3">研究目的</h1>
+<ul>
+  <li>Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくする為
+木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
+変更が全体に伝搬するまでの実験をできるようにする</li>
 </ul>
 
 
@@ -138,7 +148,6 @@
 <!-- _S9SLIDE_ -->
 <h1 id="jungle12">Jungleの分散機構(1/2)</h1>
 <ul>
-  <li>JungleはGitやMercurialといった分散バージョン管理システムの機能を参考に作られている</li>
   <li>ノード間でデータの衝突が起きるのを避ける為、Mergeの機能が実装されている</li>
   <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している</li>
 </ul>
@@ -159,11 +168,22 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-3">評価実験</h1>
+<h1 id="section-4">評価実験</h1>
 <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>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-5">実験環境</h1>
+<ul>
+  <li>学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
+  <li>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</li>
 </ul>
 
 
@@ -172,17 +192,37 @@
 <!-- _S9SLIDE_ -->
 <h1 id="torque-resource-manager">TORQUE Resource Manager</h1>
 <ul>
-  <li>perlスクリプトを16台のJungleに一度に投入するのにTORQUEを使用した</li>
   <li>TORQUEはジョブを管理・投下・実行する3つのデーモンで構 成されており、ジョブの管理・投下を担うデーモンが稼働しているヘッダーノードから、 ジョブの実行を担うデーモンが稼働している計算ノードへジョブが投下される</li>
+  <li>本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="jungle-1">Jungleにデータを書き込むスクリプト</h1>
+<h1 id="torque">TORQUEの使い方</h1>
 <ul>
-  <li>任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
+  <li>ジョブはqsubで投入</li>
+  <li>ジョブの処理状況はqstatで確認できる
+    <ul>
+      <li>その際、Rは処理中であり、Cは処理完了を表している
+(ジョブの状態のテキストを貼る)</li>
+    </ul>
+  </li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="torque-1">TORQUEを使うにあたり工夫した所</h1>
+<ul>
+  <li>TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない</li>
+  <li>実験が終了したらタスクを終了させるコードを実装した
+    <ul>
+      <li>書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
+    </ul>
+  </li>
 </ul>
 
 
@@ -193,45 +233,68 @@
 <ul>
   <li>Aliceは当研究室で開発している並列分散フレームワークである</li>
   <li>Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する</li>
+  <li>本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間のデータの通信を行なった</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-4">実験環境</h1>
+<h1 id="topologymanager">TopologyManager</h1>
 <ul>
-  <li>学科の KVM 上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
-  <li>他の利用者とリソースが競合しないよう、TORQUE ジョブ スケジューラーを利用している</li>
+  <li>TopologyManagerは、ネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である</li>
+  <li>TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。</li>
+  <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。</li>
+</ul>
+
+
+</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>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-5">まとめ</h1>
+<h1 id="section-6">用意したスクリプト</h1>
 <ul>
-  <li>
-    <p>JungleとAliceで生じていたJava等のバージョンのズレを修正した</p>
-  </li>
-  <li>   </li>
-  <li>測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-  <li>
-    <p>mavenリポジトリのキャッシュをクリアすることアップデートできた。</p>
-  </li>
-  <li>Alice が実用的なアプリケーションを記述するための Meta Computation として、Meta Data Segmentに複数の表現のデータを同時に持たせることで圧縮機能を実装した。同様の手法を用いれば暗号表現などへの対応もでき自由度の高い通信を行うことが可能になる。</li>
-  <li>TreeVNCをAlice上で実装し比較を行った結果、変更量の少ないシンプルな記述でTreeVNCの基本機能を実現でき、同等の性能を出すことに成功した。</li>
-  <li>AliceのMeta Computationが拡張性・信頼性の高い実用的な分散アプリケーションの構築に有用であることが確認された。</li>
+  <li>任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-6">今後の課題</h1>
+<h1 id="section-7">結果</h1>
+<ul>
+  <li>無事7台の子ノードJungleからデータが書き込まれ、ルートノードJungleへデータがmergeされた時間を計測できた</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>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-9">今後の課題</h1>
 <ul>
   <li>
-    <p>新たに確立した測定環境で現在のJungleの分散性能を測定したい</p>
+    <p>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</p>
   </li>
   <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
     <ul>
@@ -241,6 +304,18 @@
   <li>ディスク上にしかないツリートポロジーを読み出すプロトコルを定義したい</li>
 </ul>
 
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-10">計測結果</h1>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-11">ジョブスクリプト</h1>
+
 <style type="text/css">
 <!--
 *{
--- a/paper/slides/sample.pdf.html	Wed Feb 21 18:15:25 2018 +0900
+++ b/paper/slides/sample.pdf.html	Wed Feb 21 18:16:11 2018 +0900
@@ -70,14 +70,14 @@
 <!-- === begin markdown block ===
 
       generated by markdown/1.2.0 on Ruby 2.4.0 (2016-12-24) [x86_64-darwin14]
-                on 2018-02-21 16:38:54 +0900 with Markdown engine kramdown (1.13.2)
+                on 2018-02-21 18:15:45 +0900 with Markdown engine kramdown (1.13.2)
                   using options {}
   -->
 
 <!-- _S9SLIDE_ -->
 <h1 id="section">研究背景(1/2)</h1>
 <ul>
-  <li>スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している。</li>
+  <li>スマートフォン等の普及により、Webサービスの利用者が増え、Webサーバーにかかる負荷も増大している</li>
   <li>この問題を解決する為に当研究室では、スケーラビリティを持つ分散データベースとしてJungleを開発している</li>
   <li>ここで言うスケーラビリティとは、複数のマシンに処理を分散させたりすることで、システムの処理能力を向上させる性能を指す</li>
 </ul>
@@ -88,21 +88,31 @@
 <!-- _S9SLIDE_ -->
 <h1 id="section-1">研究背景(2/2)</h1>
 <ul>
-  <li>一般的なウェブサイトの構造は大体が木構造であるため、データ構造と して木構造を採用している</li>
+  <li>一般的なウェブサイトの構造は大体が木構造であるため、Jungleはデータ構造として木構造を採用している</li>
   <li>JungleはNoSQLで開発されており、木構造をそのまま読み込むことが可能</li>
   <li>Jungle はデータの変更を非破壊で行なっており、編集ごとのデータをバージョンとして TreeOperationLog に残している。</li>
-  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している</li>
+  <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceを使用している</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-2">研究目的</h1>
+<h1 id="section-2">問題提起</h1>
 <ul>
-  <li>これまでJungleの分散性能を測定する方法が確立されていなかった</li>
-  <li>Jungleの分散環境上での性能を測定する環境を構築するため、</li>
-  <li>実際に分散環境上で Jungleに -write , -count オプションで負荷をかけ、処理にかかる時間を –showTime オプションで出力結果に表示した。</li>
+  <li>これまでJungleの分散性能を測定する方法はWebサーバー込みで行われていた</li>
+  <li>Jungleの単体の分散性能を測定したい</li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-3">研究目的</h1>
+<ul>
+  <li>Jungleを用いるデータの伝搬方式や、トランザクションのmergeに関する研究開発をしやすくする為
+木構造に構築したJungleのノード上で、いくつかのノードから書き込みを伝搬させて、
+変更が全体に伝搬するまでの実験をできるようにする</li>
 </ul>
 
 
@@ -122,7 +132,6 @@
 <!-- _S9SLIDE_ -->
 <h1 id="jungle12">Jungleの分散機構(1/2)</h1>
 <ul>
-  <li>JungleはGitやMercurialといった分散バージョン管理システムの機能を参考に作られている</li>
   <li>ノード間でデータの衝突が起きるのを避ける為、Mergeの機能が実装されている</li>
   <li>Jungleの分散機構には、当研究室で開発している分散フレームワークAliceのTopologyManagerという機能を使用している</li>
 </ul>
@@ -143,11 +152,22 @@
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-3">評価実験</h1>
+<h1 id="section-4">評価実験</h1>
 <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>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-5">実験環境</h1>
+<ul>
+  <li>学科のKVM上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
+  <li>他の利用者とリソースが競合しないよう、TORQUEジョブスケジューラーを利用している</li>
 </ul>
 
 
@@ -156,17 +176,37 @@
 <!-- _S9SLIDE_ -->
 <h1 id="torque-resource-manager">TORQUE Resource Manager</h1>
 <ul>
-  <li>perlスクリプトを16台のJungleに一度に投入するのにTORQUEを使用した</li>
   <li>TORQUEはジョブを管理・投下・実行する3つのデーモンで構 成されており、ジョブの管理・投下を担うデーモンが稼働しているヘッダーノードから、 ジョブの実行を担うデーモンが稼働している計算ノードへジョブが投下される</li>
+  <li>本実験では、TORQUEを用いて、計測用に作成したperlスクリプトを15台のJungleに一度に投入するジョブスクリプトを投入した</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="jungle-1">Jungleにデータを書き込むスクリプト</h1>
+<h1 id="torque">TORQUEの使い方</h1>
 <ul>
-  <li>任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
+  <li>ジョブはqsubで投入</li>
+  <li>ジョブの処理状況はqstatで確認できる
+    <ul>
+      <li>その際、Rは処理中であり、Cは処理完了を表している
+(ジョブの状態のテキストを貼る)</li>
+    </ul>
+  </li>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="torque-1">TORQUEを使うにあたり工夫した所</h1>
+<ul>
+  <li>TORQUEで測定するにはJungleのノードを15台全部起動して、全部終了するようにしないといけない</li>
+  <li>実験が終了したらタスクを終了させるコードを実装した
+    <ul>
+      <li>書き込みの最後にnullLogを送ると全体が終了するコードを実装した</li>
+    </ul>
+  </li>
 </ul>
 
 
@@ -177,45 +217,68 @@
 <ul>
   <li>Aliceは当研究室で開発している並列分散フレームワークである</li>
   <li>Alice は、ネットワーク上の複数のサーバーノードにトポロジーを形成させ、通信する機能を提供する</li>
+  <li>本実験では、Aliceを用いて15台のJungleにツリートポロジーを形成させ、子ノードとJungleノード間のデータの通信を行なった</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-4">実験環境</h1>
+<h1 id="topologymanager">TopologyManager</h1>
 <ul>
-  <li>学科の KVM 上の仮想マシンによる仮想クラスタ環境を用いて実験を行った</li>
-  <li>他の利用者とリソースが競合しないよう、TORQUE ジョブ スケジューラーを利用している</li>
+  <li>TopologyManagerは、ネットワーク上の複数のサーバーノードにトポロジーを形成さる機能である</li>
+  <li>TopologyManagerにトポロジーの内容が書かれたトポロジーファイルを渡すことで、任意のトポロジーを構成させることができる。</li>
+  <li>本実験ではTopologyManagerにツリー型のトポロジーファイルを渡すことで、15台のJUngleでツリートポロジーを構成させた。</li>
+</ul>
+
+
+</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>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-5">まとめ</h1>
+<h1 id="section-6">用意したスクリプト</h1>
 <ul>
-  <li>
-    <p>JungleとAliceで生じていたJava等のバージョンのズレを修正した</p>
-  </li>
-  <li>   </li>
-  <li>測定用に、任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
-  <li>
-    <p>mavenリポジトリのキャッシュをクリアすることアップデートできた。</p>
-  </li>
-  <li>Alice が実用的なアプリケーションを記述するための Meta Computation として、Meta Data Segmentに複数の表現のデータを同時に持たせることで圧縮機能を実装した。同様の手法を用いれば暗号表現などへの対応もでき自由度の高い通信を行うことが可能になる。</li>
-  <li>TreeVNCをAlice上で実装し比較を行った結果、変更量の少ないシンプルな記述でTreeVNCの基本機能を実現でき、同等の性能を出すことに成功した。</li>
-  <li>AliceのMeta Computationが拡張性・信頼性の高い実用的な分散アプリケーションの構築に有用であることが確認された。</li>
+  <li>任意のnodeと任意のトポロジーを形成するperlスクリプトを作成した</li>
 </ul>
 
 
 </div>
 <div class='slide '>
 <!-- _S9SLIDE_ -->
-<h1 id="section-6">今後の課題</h1>
+<h1 id="section-7">結果</h1>
+<ul>
+  <li>無事7台の子ノードJungleからデータが書き込まれ、ルートノードJungleへデータがmergeされた時間を計測できた</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>
+</ul>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-9">今後の課題</h1>
 <ul>
   <li>
-    <p>新たに確立した測定環境で現在のJungleの分散性能を測定したい</p>
+    <p>今回構築した測定環境で、現在のJungleのmergeや分散アルゴリズムを研究したい</p>
   </li>
   <li>再接続時に、Jungleのノードのデータを再ロードできるプロトコルを定義したい
     <ul>
@@ -225,6 +288,18 @@
   <li>ディスク上にしかないツリートポロジーを読み出すプロトコルを定義したい</li>
 </ul>
 
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-10">計測結果</h1>
+
+
+</div>
+<div class='slide '>
+<!-- _S9SLIDE_ -->
+<h1 id="section-11">ジョブスクリプト</h1>
+
 <style type="text/css">
 <!--
 *{