Mercurial > hg > Members > shoshi > 3Q > srl20110114
comparison index.html @ 0:33ef50590b20 default tip
hg init
author | shoshi |
---|---|
date | Fri, 14 Jan 2011 11:12:27 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:33ef50590b20 |
---|---|
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | |
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
3 | |
4 <html xmlns="http://www.w3.org/1999/xhtml"> | |
5 | |
6 <head> | |
7 <title>Cassandraを利用したサービスのPCクラスタを利用したスケーラビリティの検証</title> | |
8 <!-- metadata --> | |
9 <meta name="generator" content="S5" /> | |
10 <meta name="version" content="S5 1.1" /> | |
11 <meta name="presdate" content="20100807" /> | |
12 <meta name="author" content="ShoshiTAMAKI" /> | |
13 <meta name="company" content="University of Ryukyus" /> | |
14 <meta http-equiv="ContentType : text/html; charset=UTF-8"/> | |
15 <!-- configuration parameters --> | |
16 <meta name="defaultView" content="slideshow" /> | |
17 <meta name="controlVis" content="hidden" /> | |
18 <!-- style sheet links --> | |
19 <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> | |
20 <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> | |
21 <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> | |
22 <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> | |
23 <!-- embedded styles --> | |
24 <style type="text/css" media="all"> | |
25 .imgcon {width: 525px; margin: 0 auto; padding: 0; text-align: center;} | |
26 #anim {width: 270px; height: 320px; position: relative; margin-top: 0.5em;} | |
27 #anim img {position: absolute; top: 42px; left: 24px;} | |
28 img#me01 {top: 0; left: 0;} | |
29 img#me02 {left: 23px;} | |
30 img#me04 {top: 44px;} | |
31 img#me05 {top: 43px;left: 36px;} | |
32 </style> | |
33 <!-- S5 JS --> | |
34 <script src="ui/default/slides.js" type="text/javascript"></script> | |
35 </head> | |
36 <body> | |
37 | |
38 <div class="layout"> | |
39 <div id="controls"><!-- DO NOT EDIT --></div> | |
40 <div id="currentSlide"><!-- DO NOT EDIT --></div> | |
41 <div id="header"></div> | |
42 <div id="footer"> | |
43 <h1>Cassandraを利用したサービスのPCクラスタを用いたスケーラビリティの検証</h1> | |
44 <h2>shizuku.cr.ie.u-ryukyu.ac.jp</h2> | |
45 </div> | |
46 | |
47 </div> | |
48 <div class="presentation"> | |
49 | |
50 <div class="slide"> | |
51 <h1>Cassandraを利用したサービスのPCクラスタを用いたスケーラビリティの検証</h1> | |
52 <h3>Shoshi TAMAKI , Shinji KONO</h3> | |
53 <h4><a href="http://www.cr.ie.u-ryukyu.ac.jp/">University of Ryukyus</a></h4> | |
54 </div> | |
55 | |
56 <div class="slide"> | |
57 <h1>研究の目的</h1> | |
58 <p>インターネット上のサービスで重要なのはスケーラビリティ、つまり、ユーザのアクセスの増大に対して一定のサービス品質を提供することである。 | |
59 <p> | |
60 スケーラブルなサービスを提供するために分散Key-Value store Cassandra が注目されている。 RDBの個々のテーブルも、Key-Value store と見ることができる。 | |
61 <p> | |
62 本研究では,特に汎用性のある木構造を扱うインターネットサービスに着目する。Cassandra 上に木構造を取り扱うサービスをスケーラブルに提供するフレームワークを設計し実装する。 | |
63 </div> | |
64 | |
65 <div class="slide"> | |
66 <h1>研究のスケジュール</h1> | |
67 <small> | |
68 <ul> | |
69 <li>第1クォーター:Cassandraの検証</li> | |
70 <li>第2クォーター:スケーラビリティの高いサービスの設計</li> | |
71 <li>第3クォーター:<span style="color:red;">スケーラビリティの高いサービスの実装</span></li> | |
72 <li>第4クォーター:実装したサービスの検証</li> | |
73 </ul> | |
74 <p>1Qでは、Cassandra のPCクラスタを用いたスケーラビリティを実験する環境を構築した。</p> | |
75 <p>しかし、1対1の環境ではmySQLの方が性能が良かった。</p> | |
76 <p>今回はCassandraが実際にスケールすることを確認した。</p> | |
77 <p>その結果を元に、木構造をスケーラブルに取り扱うシステムの設計を行なった。</p> | |
78 </small> | |
79 <div> | |
80 | |
81 <div class="slide"> | |
82 <h1>1Qまでのあらすじ</h1> | |
83 <p>前回の発表では以下のことについて発表を行った.</p> | |
84 <ul> | |
85 <li>Cassandraの紹介と基本的な使用方法</li> | |
86 <li>Cassandraを利用したアプリケーション</li> | |
87 <li>コンシステント・ハッシュ</li> | |
88 <li>1台のクライアントとサーバーを用いた簡単なベンチマーク</li> | |
89 </ul> | |
90 <p>シンプルなベンチマークではMySQLにCassandraでは超えられられなかった</p> | |
91 <p>課題として,Cassandraがスケールする条件の検証が残った.</p> | |
92 </div> | |
93 | |
94 <div class="slide"> | |
95 <h1>2Qまでのあらすじ</h1> | |
96 <ul> | |
97 <li>スケーラビリティの検証環境をTorqueを使って構築した</li> | |
98 <li>Cassandraが実際にスケールすることを実験で確認した</li> | |
99 <li>スケーラビリティの高い木構造を対象としたサービスの設計を行った</li> | |
100 </ul> | |
101 <small> | |
102 <p>3Qの課題としてCassandraのノード数を増やした場合、コア数の多いサーバの場合の検証が必要なこともわかった。</p> | |
103 <p>プロタイプ実装でも実験によってスケーラビリティを確認しながら設計/実装を深めていく必要がある。</p> | |
104 </small> | |
105 </div> | |
106 | |
107 <div class="slide"> | |
108 <h1>非破壊木構造Editorの実装</h1> | |
109 <ul> | |
110 <li>イメージとしては分散リポジトリ(Git,Mercurial)</li> | |
111 <li>APIとしてcommit,push,pull,update,discard,mergeがある。</li> | |
112 <li>木構造をコピーし、ローカルへ保存して編集しリモートへ更新する。(非破壊的)</li> | |
113 <li>更新は変更をコミットする際に検出する。(ポーリングの利用)</li> | |
114 </ul> | |
115 </div> | |
116 | |
117 <div class="slide"> | |
118 <h1>非破壊木構造Editorの実装</h1> | |
119 <div align="center"> | |
120 <img width="60%" src="pics/editor01.png"/> | |
121 </div> | |
122 </div> | |
123 | |
124 <div class="slide"> | |
125 <h1>非破壊木構造Editorの実装</h1> | |
126 <ul> | |
127 <li>このEditorを各ステージ(ブラウザ上、APIサーバー上、Cassandra)において実装する。</li> | |
128 <li>こうすることで非破壊構造を分散して構築することが出来る。</li> | |
129 </ul> | |
130 </div> | |
131 | |
132 <div class="slide"> | |
133 <h1>リンクの実装</h1> | |
134 <small> | |
135 <ul> | |
136 <li>非破壊木構造の特性上、ルートノードに負荷がかかる。</li> | |
137 <li>そのため、リンクを導入しある部分で親ノードに更新が伝搬しないようにする。</li> | |
138 <li>リンクされた先をルートノードとし編集することでリンクの親ノードへ更新は伝搬されない。</li> | |
139 </ul> | |
140 </small> | |
141 <div align="center"> | |
142 <img width="75%" src="pics/link.png"/> | |
143 </div> | |
144 </div> | |
145 | |
146 <div class="slide"> | |
147 <h1>現在の開発状況</h1> | |
148 <ul> | |
149 <li>グラフィカルな編集ツールの動作(ツリー編集前)</li> | |
150 </ul> | |
151 <div align="center"> | |
152 <img width="45%" src="./pics/gui1.png"/> | |
153 </div> | |
154 </div> | |
155 | |
156 <div class="slide"> | |
157 <h1>現在の開発状況</h1> | |
158 <ul> | |
159 <li>グラフィカルな編集ツールの動作(ツリー編集後)</li> | |
160 </ul> | |
161 <div align="center"> | |
162 <img width="45%" src="./pics/gui2.png"/> | |
163 </div> | |
164 </div> | |
165 | |
166 <div class="slide"> | |
167 <h1>現在の開発状況</h1> | |
168 <ul> | |
169 <li>開発環境はJavaとEclipse</li> | |
170 <li>オンメモリ上とCassandra上の実装を同時に進行中</li> | |
171 <li>非破壊木構造EditorのInterface定義</li> | |
172 </ul> | |
173 <pre> | |
174 public interface Editor extends Browser | |
175 { | |
176 //ユーザー認証 | |
177 public void login(String user,String pass); | |
178 public void logout(); | |
179 //編集するノードを複製して取得 | |
180 public Node edit(Node _target); | |
181 //編集結果を確定する | |
182 public boolean commit(boolean _force); | |
183 public boolean update(); //最新にする | |
184 public void merge(); //編集の衝突を解決する | |
185 } | |
186 </pre> | |
187 </div> | |
188 | |
189 <div class="slide"> | |
190 <h1>まとめ</h1> | |
191 <ul> | |
192 <li>非破壊木構造Editorは分散リポジトリを参考にした構造。</li> | |
193 <li>ローカルにコピーし、それを非破壊的に変更していく。</li> | |
194 <li>複数ステージにおいてツリーをコピーし、それぞれの段階で非破壊的に編集する。</li> | |
195 <li>ルートノードの負荷分散のためにリンクを導入する。</li> | |
196 </ul> | |
197 </div> | |
198 | |
199 <div class="slide"> | |
200 <h1>今後の課題</h1> | |
201 <ul> | |
202 <li>実装したEditorを使ったベンチマークテスト</li> | |
203 <li>引き続きEditorの実装</li> | |
204 <li>レンダリングエンジンの実装</li> | |
205 </ul> | |
206 </div> | |
207 | |
208 <div class="slide"> | |
209 <h2>ご清聴ありがとうございました</h2> | |
210 </div> | |
211 | |
212 </body> | |
213 </html> |