changeset 2:d297942c3037

Added slides
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sun, 02 Feb 2014 08:36:23 +0900
parents 0a198ff75b2c
children 73334922bd5a
files .DS_Store index.html index.html_back
diffstat 3 files changed, 278 insertions(+), 252 deletions(-) [+]
line wrap: on
line diff
Binary file .DS_Store has changed
--- a/index.html	Tue Jan 14 17:14:01 2014 +0900
+++ b/index.html	Sun Feb 02 08:36:23 2014 +0900
@@ -1,252 +1,89 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset='utf-8'>
-  <title>分散データベースJungle</title>
-
-<!-- 
-   Notes on CSS media types used:
- 
-   1) projection -> slideshow mode (display one slide at-a-time; hide all others)
-   2) screen     -> outline mode (display all slides-at-once on screen) 
-   3) print      -> print (and print preview)
-  
-   Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key
-
-   Questions, comments?
-   - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow    
--->
-
-<!-- style sheet links -->
-<link rel="stylesheet/less" href="themes/blank/projection.css.less"  media="screen,projection">
-<link rel="stylesheet/less" href="themes/blank/screen.css.less"      media="screen">
-<link rel="stylesheet/less" href="themes/blank/print.css.less"       media="print">
-
-<link rel="stylesheet/less" href="blank.css.less"    media="screen,projection">
-
-<!-- Notes about less css support
-     - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script)
-     - find more info about less.js online @ http://lesscss.org
-
-    ***** NOTE:
-   less.js browser script currently won’t work if you’re using Google Chrome
-    and the path to your page starts with "file:///" due to a known Chrome issue.
-   (In the developer/js console you will see:
-     XMLHttpRequest cannot load file:///../s6/shared/projection.css.less.
-     Cross origin requests are only supported for HTTP.)
-  -->
-
-<!-- add js libs (less, jquery) -->
-<script src="js/less-1.1.4.min.js"></script>
-<script src="js/jquery-1.7.min.js"></script>
-
-<!-- S6 JS -->
-<script src="js/jquery.slideshow.js"></script>
-<script src="js/jquery.slideshow.counter.js"></script>
-<script src="js/jquery.slideshow.controls.js"></script>
-<script src="js/jquery.slideshow.footer.js"></script>
-<script src="js/jquery.slideshow.autoplay.js"></script>
-<script>
-  $(document).ready( function() {
-    Slideshow.init();
-    
-    // Example 2: Start Off in Outline Mode
-    // Slideshow.init( { mode: 'outline' } );
-    
-    // Example 3: Use Custom Transition
-    // Slideshow.transition = transitionScrollUp;
-    // Slideshow.init();
-
-    // Example 4: Start Off in Autoplay Mode with Custom Transition
-    // Slideshow.transition = transitionScrollUp;
-    // Slideshow.init( { mode: 'autoplay' } );
-  } );
-</script>
-
-<!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
-<!--[if IE]>
-<script src="js/jquery.microsoft.js"></script>
-<![endif]-->
-
-</head>
-<body>
-
-<div class="layout">
-  <div id="header"></div>
-  <div id="footer">
-    <h1>分散データベースJungleの実装</h1>
-    <h2>琉球大学大学院 情報工学専攻 修士2年次 大城信康</h2>
-  </div>
-</div>
-
-<div class="presentation">
-
-  <!-- add slides here; example -->
-  
-  <div class='slide cover'>
-    <h1>分散データベースJungleに関する研究</h1>
-    <ul>
-	<p>琉球大学 大城信康
-	<br>
-	14 Jan 2013
-	</p>
-    </ul>
-  </div>
-
-  <div class='slide'>
-    <h1>研究の背景と目的</h1>
-    <ul>
-	<li>近年、スマートフォンやタブレット端末の普及によりサーバサイドの負担が増大し、ウェブサービスがダウンする自体が多々みられる</li>
-	<li>そのため、スケーラビリティはウェブサービスにおいて重要な性質の1つとなっている</li>
-	<li>スケーラビリティとは、ある複数のノードから構成される分散ソフトウェアがあるとき、その分散ソフトウェアに対して単純にノード
-	    を追加するだけで性能を線形に上昇させることができる性質である</li>
-	<li>スケーラビリティを持たせるためにはアーキテクチャの設計から考えなければならない</li>
-    </ul>
-  </div>
-
-  <div class='slide'>
-    <h1>研究の背景と目的</h1>
-
-    <ul>
-	<li>当研究室では非破壊的木構造を用いたデータベースである Jungle™ を開発している</li>
-	<li>非破壊的木構造とは、データの編集の際に一度木構造として保存したデータには触れず、新しく木構造を作成してデータの編集を行うこと</li>
-	<li>Jungle は分散データベースとして設計・実装されているが、分断耐性や永続性といった部分の実装がまだ
-	    行われていない</li>
-	<li>本研究では、Jungle を用いてスケーラビリティをもつアーキテクチャの追求を行う</li>
-    </ul>
-  </div>
-
-  <div class='slide'>
-    <h1>今週の作業</h1>
-    <ul>
-	<li>修論の目次作成</li>
-	<li>Jungleへの永続性の実装</li>
-    </ul>
-  </div>
-
-  <div class='slide'>
-    <h1>Jungleの永続性実装</h1>
-    <li>現在の永続性の実装</li>
-	<ul>
-	    <li>ログをMessagePackによりディスクへ書き出している</li>
-	    <li>プログラム起動時に書きだされたログを読み出しEditorを用いてTreeへ反映する</li>
-	</ul>
-  </div>
-
-  <div>
-      <h1>修論の目次</h1>
-      <ol>
-	  <li>序論</li>
-	  <ul>
-	      <li>序論</li>
-	      <li>研究の背景と目的</li>
-	      <li>本論文の構成</li>
-	  </ul>
-	  <li>既存の分散データベース</li>
-	  <ul>
-	      <li></li>
-	  </ul>
-	  <li>木構造データベースJungleの分散設計</li>
-	  <ul>
-	      <li>木構造データベースJungle</li>	      
-	      <ul>
-		  <li>破壊的木構造</li>
-		  <li>非破壊的木構造</li>
-	      </ul>
-	      <li>Jungleの分散データベース設計</li>
-	      <ul>
-		  <li>Jungleにおけるデータ編集(APIとかの説明も)</li>
-		  <li>データ編集におけるログ</li>
-		  <li>ログによるデータ分散</li>
-	      </ul>
-	  </ul>
-	  <li>Jungleの分散実装</li>
-	  <ul>
-	      <li>並列分散フレームワークAlice</li>
-	      <li>Aliceを用いての分散実装</li>
-	      <li>ログのシリアライズ</li>
-	      <li>NetworkTopologyManagerを用いてのデータ分散</li>
-	      <li>Jungleの永続性の実装</li>
-	  </ul>
-
-	  <li>分散木構造データベースJungleの評価</li>
-	  <ul>
-	      <li>実験方法</li>
-	      <li>実験環境</li>
-	      <li>実験</li>
-	      <li>実験結果</li>
-	  </ul>
-
-	  <li>結論</li>
-	  <ul>
-	      <li>まとめ</li>
-	      <li>今後の課題</li>
-	      <ul>
-		  <li>データ分割の問題</li>
-		  <li>Compaction の実装</li>
-		  <li>Mergeアルゴリズムの設計</li>
-	      </ul>
-	  </ul>
-
-      </ol>
-  </div>  
-
-  <div class='slide'>
-    <h1>benchmarkプログラムの改良と再測定</h1>
-    <ul>
-	<li>今までのbenchmarkプログラムは1つの node にしか負荷をかけなかった</li>
-	<li>そこで、複数起動した node に対して負荷をかけるように改良</li>
-	<li>bldsv12,bldsv10で掲示板プログラムを動かしクラスタから負荷をかける</li>
-	<li>Jungleの分散実装とCassandraのConsistency Levelを変えての測定</li>
-    </ul>
-  </div>
-
-
-  <div class='slide'>
-    <h1>Cassandra write benchmark</h1>
-    <ul>
-	<li>Consistency Levelを変更しての測定</li>
-    </ul>
-    <img src="./images/write_cassandra.png">
-  </div>
-
-  <div class='slide'>
-    <h1>jungle and Cassandra write benchmark</h1>
-    <img src="./images/write_jungle_cassandra.png">
-  </div>
-
-
-  <div class='slide'>
-    <h1>単体・複数ノードへの負荷</h1>
-    <img src="./images/write_bench.png">
-    <ul>
-	<li></li>
-	<li></li>
-    </ul>
-  </div>
-
-  <div class='slide'>
-    <h1>永続性実装のベンチマーク</h1>
-    <img src="./images/write_env.png">
-    <ul>
-	<li></li>
-	<li></li>
-    </ul>
-  </div>
-
-
-  <div class='slide'>
-    <h1>今後の作業</h1>
-    <li>永続性の実装</li>
-    <ul>
-	<li>ログを書き出すファイルの容量がある一定を超えたら新しいファイルに書き出す機構</li>
-	<li>複数あるログのファイルからデータを復元する機構</li>
-	<li>Compactionの部分の設計</li>
-    </ul>
-    <li>例題アプリケーションの作成(Wikiとか)</li>
-    <li>分散環境下のベンチマークプログラムの作成</li>
-  </div>
-
-</div> <!-- presentation -->
-</body>
-</html>
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset='utf-8'>
+    <title>分散データベース Jungle に関する研究</title>
+    <script src='slides.js'></script>
+    <style media='screen,projection'>
+     /****
+      * Add your styles here.
+      */
+     
+   body { font-size: 175%; }
+     
+  .step  { color: silver; }  /* or hide next steps e.g. .step { visibility: hidden; } */
+    
+  .slide {
+    font-family: 'Open Sans', Arial, sans-serif;
+
+    color: rgb(102, 102, 102);
+    text-shadow: 0 1px 1px rgba(0, 0, 0, .1);
+  }
+  
+  .slide h1, .slide h2, .slide h3 {
+    color: rgb(51, 51, 51);
+  }
+  
+  .slide pre {
+   font-family: 'Droid Sans Mono', 'Courier New', monospace;
+   font-size: 80%;
+
+  padding: 5px 10px;
+  
+  margin-top: 40px;
+  margin-bottom: 40px;
+
+  color: black;
+  background: rgb(240, 240, 240);
+  border: 1px solid rgb(224, 224, 224);
+  box-shadow: inset 0 2px 6px rgba(0, 0, 0, .1);
+  overflow: hidden;
+  }
+
+  .slide code {
+  font-family: 'Droid Sans Mono', 'Courier New', monospace;
+  color: black;
+  }
+    </style>
+  </head>
+  <body>
+
+    <section class='slides'>
+      <!-- Add your slides here. Delete or comment out the slides below. -->
+      
+      <article class='cover'>
+        <h1>
+          分散データベース Jungle に関する研究
+          <br>
+	  
+        </h1>
+        <p>
+         大城 信康
+          <br>
+          Feb 3, 2013
+        </p>
+      </article>
+      
+      <article>
+        <h3>
+	    概要
+        </h3>
+	<small>
+	    <p>ウェブサービスにとってデータベースは必須であり、ウェブサービスの規模に比例してデータベースへの負荷も高まる。</p>
+	    <p>データベースの処理能力の高さはそのままウェブサービスの質に繋がるため、データベースのスケーラビリティの確保は重要である。</p>
+	    <p>スケーラビリティ確保の方法としてデータ分散があるが、分散する方法により性能も変わってくる。</p>
+	    <p>我々は、非破壊的構造を用いてデータを表現するデータベースJungleの開発を行った。</p>
+	    <p>非破壊的木構造データベースJungleに分散実装を行い、その評価を行い、分散データベースCassandraよりよい性能を得ることができた。</p>
+	</small>
+      </article>
+
+      <article>
+        <h3>
+	</h3>
+
+      </article>
+
+    </section>
+
+  </body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/index.html_back	Sun Feb 02 08:36:23 2014 +0900
@@ -0,0 +1,189 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset='utf-8'>
+  <title>分散データベースJungle</title>
+
+<!-- 
+   Notes on CSS media types used:
+ 
+   1) projection -> slideshow mode (display one slide at-a-time; hide all others)
+   2) screen     -> outline mode (display all slides-at-once on screen) 
+   3) print      -> print (and print preview)
+  
+   Note: toggle between projection/screen (that is, slideshow/outline) mode using t-key
+
+   Questions, comments?
+   - send them along to the mailinglist/forum online @ http://groups.google.com/group/webslideshow    
+-->
+
+<!-- style sheet links -->
+<link rel="stylesheet/less" href="themes/blank/projection.css.less"  media="screen,projection">
+<link rel="stylesheet/less" href="themes/blank/screen.css.less"      media="screen">
+<link rel="stylesheet/less" href="themes/blank/print.css.less"       media="print">
+
+<link rel="stylesheet/less" href="blank.css.less"    media="screen,projection">
+
+<!-- Notes about less css support
+     - all less stylesheets (*.css.less) need to get listed/loaded first (before the less.js script)
+     - find more info about less.js online @ http://lesscss.org
+
+    ***** NOTE:
+   less.js browser script currently won’t work if you’re using Google Chrome
+    and the path to your page starts with "file:///" due to a known Chrome issue.
+   (In the developer/js console you will see:
+     XMLHttpRequest cannot load file:///../s6/shared/projection.css.less.
+     Cross origin requests are only supported for HTTP.)
+  -->
+
+<!-- add js libs (less, jquery) -->
+<script src="js/less-1.1.4.min.js"></script>
+<script src="js/jquery-1.7.min.js"></script>
+
+<!-- S6 JS -->
+<script src="js/jquery.slideshow.js"></script>
+<script src="js/jquery.slideshow.counter.js"></script>
+<script src="js/jquery.slideshow.controls.js"></script>
+<script src="js/jquery.slideshow.footer.js"></script>
+<script src="js/jquery.slideshow.autoplay.js"></script>
+<script>
+  $(document).ready( function() {
+    Slideshow.init();
+    
+    // Example 2: Start Off in Outline Mode
+    // Slideshow.init( { mode: 'outline' } );
+    
+    // Example 3: Use Custom Transition
+    // Slideshow.transition = transitionScrollUp;
+    // Slideshow.init();
+
+    // Example 4: Start Off in Autoplay Mode with Custom Transition
+    // Slideshow.transition = transitionScrollUp;
+    // Slideshow.init( { mode: 'autoplay' } );
+  } );
+</script>
+
+<!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
+<!--[if IE]>
+<script src="js/jquery.microsoft.js"></script>
+<![endif]-->
+
+</head>
+<body>
+
+<div class="layout">
+  <div id="header"></div>
+  <div id="footer">
+    <h1>分散データベースJungleの実装</h1>
+    <h2>琉球大学大学院 情報工学専攻 修士2年次 大城信康</h2>
+  </div>
+</div>
+
+<div class="presentation">
+
+  <!-- add slides here; example -->
+  
+  <div class='slide cover'>
+    <h1>分散データベースJungleに関する研究</h1>
+    <ul>
+	<p>琉球大学 大城信康
+	<br>
+	14 Jan 2013
+	</p>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>研究の背景と目的</h1>
+    <ul>
+	<li>スマートフォンやタブレット端末の普及により、大量のデータを扱うウェブサービスが現れてきている。</li>
+	<li>しかしそれに伴い、サーバサイド側への負荷も増大しウェブサービスがダウンする事態が出てきている。</li>
+	<li>そのため、スケーラビリティはウェブサービスにおいて重要な性質の1つとなっている。</lii>
+	<li>スケーラビリティとは、ある複数のノードから構成される分散ソフトウェアがあるとき、その分散ソフトウェアに対して単純にノード
+	    を追加するだけで性能を線形に上昇させることができる性質である</li>
+	<li>スケーラビリティのあるプログラムについてアーキテクチャの設計から行った</li>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>研究の背景と目的</h1>
+
+    <ul>
+	<li>当研究室では非破壊的木構造を用いたデータベースである Jungle を開発している</li>
+	<li>非破壊的木構造とは、データの編集の際に一度木構造として保存したデータには触れず、新しく木構造を作成してデータの編集を行うこと</li>
+	<li>Jungle は分散データベースとして設計・実装されているが、分断耐性や永続性といった部分の実装がまだ
+	    行われていない</li>
+	<li>本研究では、Jungle を用いてスケーラビリティをもつアーキテクチャの追求を行う</li>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>今週の作業</h1>
+    <ul>
+	<li>論文の執筆</li>
+	<li>ベンチマーク測定環境の構築</li>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>ベンチマーク測定環境の構築</h1>
+    <ul>
+	<li>csクラスタ(VM)上で掲示板プログラムを走らせ、ベンチマークをとる</li>
+	<li>Jungle と Cassandra 両方を走らせる環境の構築を行った</li>
+	<h2>問題が発生</h2>
+	<li>Cassandra でConsistencyLevelをいじってもデータを伝搬してくれない</li>
+	<li>Jungle の分散結果が良くならない。圧倒的に遅い。Cassandra の結果の2倍3倍遅くなる</li>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>問題解決</h1>
+    <ul>
+	<li>Cassandra はConsistencyLevelとは別にReplication factorというレプリケーション(複製)をとるノードの数を指定する項目がある</li>
+	<li>Cassandra のConsistencyLevelはこのReplication factorの数に対して行われる</li>
+	<ul>
+	    <li>Replication factorをNとした場合、ConsistencyLevelをALLにするとこのNの数だけノードに書き込まれるのをまつ</li>
+	    <li>Replication factorをノードの全体の数に合わせてあげるとよい</li>
+	    <li>Replication factorの設定はv1.1くらいまでは設定ファイルでできるが、v1.2からはキースペース生成時に設定するか
+	    ./bin/cassandra-cli を使ってCassandraのデータにアクセスして変更する必要がある</li>
+	</ul>
+	<br>
+	<li>Jungle の結果が悪い原因</li>
+	<ul>
+	    <li>Javaのメモリの量を増やす設定をいれることで解決</li>
+	</ul>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>単体・複数ノードへの負荷</h1>
+    <ul>
+	<li>クライアント数最大12台。各クライアント5000回のリクエストを出す</li>
+    </ul>
+    <img src="./images/write_bench.png">
+  </div>
+
+  <div class='slide'>
+    <h1>ベンチマーク改良</h1>
+    <ul>
+	<li>Jungleの結果をbldsvで起動した時に近い結果になることが確認できた</li>
+	<li>Cassandra も Jungle のグラフも横ばいになっている。クライアント側からの負荷が足りない。</li>
+	<li>Cassandra の ConsystencyLevel をいじっても結果が変わらないのも負荷が足りないから?</li>
+	<h2>次の課題</h2>
+	<li>クライアント側はKVMで動かしていて現在12台しか無い</li>
+	<li>負荷をかけるプログラムをforkすることでプロセスを増やして負荷を増やすよう改良する必要がある</li>
+	<br>
+	<li>論文書こう</li>
+    </ul>
+  </div>
+
+  <div class='slide'>
+    <h1>今後の作業</h1>
+    <ul>
+	<li>修論作成</li>
+	<li>ベンチマークプログラム作成</li>
+    </ul>
+  </div>
+</div> <!-- presentation -->
+</body>
+</html>