Mercurial > hg > Members > shoshi > 3Q > srl20110114
view index.html @ 0:33ef50590b20 default tip
hg init
author | shoshi |
---|---|
date | Fri, 14 Jan 2011 11:12:27 +0900 |
parents | |
children |
line wrap: on
line source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Cassandraを利用したサービスのPCクラスタを利用したスケーラビリティの検証</title> <!-- metadata --> <meta name="generator" content="S5" /> <meta name="version" content="S5 1.1" /> <meta name="presdate" content="20100807" /> <meta name="author" content="ShoshiTAMAKI" /> <meta name="company" content="University of Ryukyus" /> <meta http-equiv="ContentType : text/html; charset=UTF-8"/> <!-- configuration parameters --> <meta name="defaultView" content="slideshow" /> <meta name="controlVis" content="hidden" /> <!-- style sheet links --> <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> <!-- embedded styles --> <style type="text/css" media="all"> .imgcon {width: 525px; margin: 0 auto; padding: 0; text-align: center;} #anim {width: 270px; height: 320px; position: relative; margin-top: 0.5em;} #anim img {position: absolute; top: 42px; left: 24px;} img#me01 {top: 0; left: 0;} img#me02 {left: 23px;} img#me04 {top: 44px;} img#me05 {top: 43px;left: 36px;} </style> <!-- S5 JS --> <script src="ui/default/slides.js" type="text/javascript"></script> </head> <body> <div class="layout"> <div id="controls"><!-- DO NOT EDIT --></div> <div id="currentSlide"><!-- DO NOT EDIT --></div> <div id="header"></div> <div id="footer"> <h1>Cassandraを利用したサービスのPCクラスタを用いたスケーラビリティの検証</h1> <h2>shizuku.cr.ie.u-ryukyu.ac.jp</h2> </div> </div> <div class="presentation"> <div class="slide"> <h1>Cassandraを利用したサービスのPCクラスタを用いたスケーラビリティの検証</h1> <h3>Shoshi TAMAKI , Shinji KONO</h3> <h4><a href="http://www.cr.ie.u-ryukyu.ac.jp/">University of Ryukyus</a></h4> </div> <div class="slide"> <h1>研究の目的</h1> <p>インターネット上のサービスで重要なのはスケーラビリティ、つまり、ユーザのアクセスの増大に対して一定のサービス品質を提供することである。 <p> スケーラブルなサービスを提供するために分散Key-Value store Cassandra が注目されている。 RDBの個々のテーブルも、Key-Value store と見ることができる。 <p> 本研究では,特に汎用性のある木構造を扱うインターネットサービスに着目する。Cassandra 上に木構造を取り扱うサービスをスケーラブルに提供するフレームワークを設計し実装する。 </div> <div class="slide"> <h1>研究のスケジュール</h1> <small> <ul> <li>第1クォーター:Cassandraの検証</li> <li>第2クォーター:スケーラビリティの高いサービスの設計</li> <li>第3クォーター:<span style="color:red;">スケーラビリティの高いサービスの実装</span></li> <li>第4クォーター:実装したサービスの検証</li> </ul> <p>1Qでは、Cassandra のPCクラスタを用いたスケーラビリティを実験する環境を構築した。</p> <p>しかし、1対1の環境ではmySQLの方が性能が良かった。</p> <p>今回はCassandraが実際にスケールすることを確認した。</p> <p>その結果を元に、木構造をスケーラブルに取り扱うシステムの設計を行なった。</p> </small> <div> <div class="slide"> <h1>1Qまでのあらすじ</h1> <p>前回の発表では以下のことについて発表を行った.</p> <ul> <li>Cassandraの紹介と基本的な使用方法</li> <li>Cassandraを利用したアプリケーション</li> <li>コンシステント・ハッシュ</li> <li>1台のクライアントとサーバーを用いた簡単なベンチマーク</li> </ul> <p>シンプルなベンチマークではMySQLにCassandraでは超えられられなかった</p> <p>課題として,Cassandraがスケールする条件の検証が残った.</p> </div> <div class="slide"> <h1>2Qまでのあらすじ</h1> <ul> <li>スケーラビリティの検証環境をTorqueを使って構築した</li> <li>Cassandraが実際にスケールすることを実験で確認した</li> <li>スケーラビリティの高い木構造を対象としたサービスの設計を行った</li> </ul> <small> <p>3Qの課題としてCassandraのノード数を増やした場合、コア数の多いサーバの場合の検証が必要なこともわかった。</p> <p>プロタイプ実装でも実験によってスケーラビリティを確認しながら設計/実装を深めていく必要がある。</p> </small> </div> <div class="slide"> <h1>非破壊木構造Editorの実装</h1> <ul> <li>イメージとしては分散リポジトリ(Git,Mercurial)</li> <li>APIとしてcommit,push,pull,update,discard,mergeがある。</li> <li>木構造をコピーし、ローカルへ保存して編集しリモートへ更新する。(非破壊的)</li> <li>更新は変更をコミットする際に検出する。(ポーリングの利用)</li> </ul> </div> <div class="slide"> <h1>非破壊木構造Editorの実装</h1> <div align="center"> <img width="60%" src="pics/editor01.png"/> </div> </div> <div class="slide"> <h1>非破壊木構造Editorの実装</h1> <ul> <li>このEditorを各ステージ(ブラウザ上、APIサーバー上、Cassandra)において実装する。</li> <li>こうすることで非破壊構造を分散して構築することが出来る。</li> </ul> </div> <div class="slide"> <h1>リンクの実装</h1> <small> <ul> <li>非破壊木構造の特性上、ルートノードに負荷がかかる。</li> <li>そのため、リンクを導入しある部分で親ノードに更新が伝搬しないようにする。</li> <li>リンクされた先をルートノードとし編集することでリンクの親ノードへ更新は伝搬されない。</li> </ul> </small> <div align="center"> <img width="75%" src="pics/link.png"/> </div> </div> <div class="slide"> <h1>現在の開発状況</h1> <ul> <li>グラフィカルな編集ツールの動作(ツリー編集前)</li> </ul> <div align="center"> <img width="45%" src="./pics/gui1.png"/> </div> </div> <div class="slide"> <h1>現在の開発状況</h1> <ul> <li>グラフィカルな編集ツールの動作(ツリー編集後)</li> </ul> <div align="center"> <img width="45%" src="./pics/gui2.png"/> </div> </div> <div class="slide"> <h1>現在の開発状況</h1> <ul> <li>開発環境はJavaとEclipse</li> <li>オンメモリ上とCassandra上の実装を同時に進行中</li> <li>非破壊木構造EditorのInterface定義</li> </ul> <pre> public interface Editor extends Browser { //ユーザー認証 public void login(String user,String pass); public void logout(); //編集するノードを複製して取得 public Node edit(Node _target); //編集結果を確定する public boolean commit(boolean _force); public boolean update(); //最新にする public void merge(); //編集の衝突を解決する } </pre> </div> <div class="slide"> <h1>まとめ</h1> <ul> <li>非破壊木構造Editorは分散リポジトリを参考にした構造。</li> <li>ローカルにコピーし、それを非破壊的に変更していく。</li> <li>複数ステージにおいてツリーをコピーし、それぞれの段階で非破壊的に編集する。</li> <li>ルートノードの負荷分散のためにリンクを導入する。</li> </ul> </div> <div class="slide"> <h1>今後の課題</h1> <ul> <li>実装したEditorを使ったベンチマークテスト</li> <li>引き続きEditorの実装</li> <li>レンダリングエンジンの実装</li> </ul> </div> <div class="slide"> <h2>ご清聴ありがとうございました</h2> </div> </body> </html>