view slides/index.html_back @ 77:bd73f0e1cdd4

Added slides
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Mon, 03 Feb 2014 08:40:32 +0900
parents
children 07aec327a7bc
line wrap: on
line source

<!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>