• 検索結果がありません。

ファイル置き場 日本Cassandraコミュニティ

N/A
N/A
Protected

Academic year: 2018

シェア "ファイル置き場 日本Cassandraコミュニティ"

Copied!
49
0
0

読み込み中.... (全文を見る)

全文

(1)

谷口 雄作 - @yuusaku_tan

Efficient Reconciliation & Flow Control

for Anti-Entropy Protocolsをざっくり紹介

第9回 Cassandra勉強会 2010年7月,東京

http://d.hatena.ne.jp/yuusaku_tan/

(2)

Agenda

•Cassandra におけるGossipの利用

•論文紹介(本題)

•その他関連トピックス

(3)

谷口 雄作 - @yuusaku_tan

CassandraにおけるGossipの利用

(4)

主な目的

日々変化する情報(state)をクラスタ内で共有する

state

(5)

谷口 雄作 - @yuusaku_tan

Gossipを利用した機能

•ノード管理(membership)

•障害検出

•etc.

※参考文献 Cassandra - A Decentralized Structured Storage System Avinash Lakshman, Prashant Malik LADIS 2009

(6)

Efficient Reconciliation and Flow Control for Anti-Entropy Protocols

Robber van Renesse, Dan Dumitriu, Valient Gough Chris Thomas LADIS 2008

(7)

谷口 雄作 - @yuusaku_tan

本論文の概要

•Gossip の基礎

•Anti-Entropy Protocol を対象とした資源節約術

‣ Reconciliation に対する工夫

‣ Flow Control に対する工夫(今日は割愛します)

(8)

Gossipの基礎

論文紹介

(9)

谷口 雄作 - @yuusaku_tan

P2P型の情報共有

state

state

state

•stateは各ノード内で管理(1カ所で中央管理しない)

•各ノードは他のノードと定期的に情報交換を行い、自分が管理 するstateを更新

state

state

(10)

stateのデータ構造

共有する情報を辞書として表現

データが作成されたノード毎に分類

他のノードのデータは情報交換を通してのみ更新可能 value 1 version 1 value 2 version 1 key 1

key 2 node A

count up

value 1 version 1 key 1

node B

(11)

谷口 雄作 - @yuusaku_tan

Gossipの種類

•Anti-Entropy protocol

push

pull

‣ push-pull:本論文の焦点

•Rumor-mongering protocol

(12)

Push-pull 式の情報交換

1. 参加者の中から情報交換の相手を選択

B

C E

A

(13)

谷口 雄作 - @yuusaku_tan

Push-pull 式の情報交換

何か新しい情報 持ってたら下さい

node A

digest A

node B

2. 自分が管理しているstateの概要を相手に送信

(14)

Push-pull 式の情報交換

node A

sub-state B & order-sheet A

node B

あなたの持ってる情報 私のより新しいので

ついでに下さい

3. 相手から更新情報を受け取って自分のstateを更新

(15)

谷口 雄作 - @yuusaku_tan

Push-pull 式の情報交換

node A

sub-state A

node B

4. 相手が必要としている情報を送信

どうぞー

(16)

情報交換に使用するメッセージの基本構造

各更新情報をタプルとして表現

タプルのリストとしてメッセージを構成

node A key 1 value 1 version 1 node A key 2 value 2 version 1 node B key 1 value 1 version 1

...

(17)

谷口 雄作 - @yuusaku_tan

Gossipに基づく情報共有の課題

谷口 雄作 - @yuusaku_tan

資源の枯渇

•情報交換に利用可能な資源に限りがある

•Gossip経路が渋滞するにつれ、情報の伝搬が遅延

(18)

資源の節約

•情報交換に使用する各メッセージの最大サイズを規定

•各ノードのGossip率を制限

(19)

谷口 雄作 - @yuusaku_tan

Reconciliation

論文紹介

(20)

Reconciliation とは

•stateの不一致を解消する操作のこと

•情報交換を行いstateを更新する一連の流れ

state statenew

node B node A

statesub

node A

=

(21)

谷口 雄作 - @yuusaku_tan

更新情報の優先度

•資源節約のため、一度に交換できる更新情報の数が制限される

•各更新情報に対して優先度を付与、メッセージサイズの許す限り 優先度の高い情報を選び抜く処理が必要になる

(22)

パフォーマンスに影響する主なポイント

•更新情報の検出方法

•digest のデータ構造

•メッセージに格納する更新情報の優先基準

(23)

谷口 雄作 - @yuusaku_tan

本論文で紹介されているメカニズム

•precise(比較対象)

•scuttlebutt(提案手法)

(24)

Precise Reconciliation

論文紹介

(25)

谷口 雄作 - @yuusaku_tan

更新情報の検出方法

検証対象 各keyのversion番号

node A key 1 version 1 version 4 node A

key 2 version 1 version 1 node B key 1 version 2 version 1

state

m

state

p 

new!

(26)

digest のデータ構造

node A key 1 version 1 node A key 2 version 1 node B key 1 version 1

...

送信データ ノード名・key・version番号

(27)

谷口 雄作 - @yuusaku_tan

メッセージに格納する更新情報の優先基準

2種類の基準を紹介

•precise-oldest

•precise-newest

(28)

precise-oldest

更新発生からより時間が経過している情報を優先

...

node A key 1 val. 1 ver. 1 node B key 2 val. 2 ver. 1 node A key 2 val. 2 ver. 2

node B key 1 val. 1 ver. 7 node A key 3 val. 3 ver. 9

(29)

谷口 雄作 - @yuusaku_tan

precise-newest

更新発生から間もない情報を優先

node A key 1 val. 1 ver. 1 旧

...

node B key 2 val. 2 ver. 1 node A key 2 val. 2 ver. 2

node B key 1 val. 1 ver. 7 node A key 3 val. 3 ver. 9

(30)

Scuttlebutt Reconciliation

論文紹介

(31)

谷口 雄作 - @yuusaku_tan

state の管理

version番号が通し番号となるように制約を加える

value 1 version 1 value 2 version 2 key 1

key 2 node A

unique

value 1 version 1 key 1

node B

value 3 version 3 key 3

(32)

更新情報の検出方法

検証対象 各ノードの最大version番号

node A version 1 version 4 node B version 2 version 2

state



state

 

new!

更新情報の範囲 version 2∼4

(33)

谷口 雄作 - @yuusaku_tan

digest のデータ構造

node A version 2 node B version 1

...

送信データ ノード名・最大version番号

(34)

メッセージに格納する更新情報の優先基準

2種類の基準を提案

•scuttlebutt-breadth

•scuttlebutt-depth

(35)

谷口 雄作 - @yuusaku_tan

scuttlebutt-breadth

旧 新

node A node B

node C node D node E

メッセージに格納されるノード数を優先

(36)

scuttlebutt-depth

旧 新

node A node B

node C node D node E

取り残されているノードの更新情報を優先

(37)

谷口 雄作 - @yuusaku_tan

評価:Precise vs. Scuttlebutt

論文紹介

(38)

実験の概要

各 reconciliation メカニズムのパフォーマンスを比較

検証環境

•ノード数:128

•各stateで64個のkeyを共有

•各更新イベントで更新するkeyの数:1

•メッセージサイズの制限を検証開始15秒後から実施

(39)

谷口 雄作 - @yuusaku_tan

更新イベントの発生率

時間 [秒] 発生率 [イベント数/秒]

0 1 2 3

0 20 40 60 80 100 120 140

25

75

(40)

クラスタ全体におけるkeyの更新率

時間 [秒] 更新率 [key/秒]

0 128 256 384

0 20 40 60 80 100 120 140

25

75

(41)

谷口 雄作 - @yuusaku_tan

最大遅延時間の比較

時間 [秒] 最大遅延時間 [秒]

(42)

遅延数の比較

遅延数

時間 [秒]

(43)

谷口 雄作 - @yuusaku_tan

まとめ

scuttlebutt-depth

の結果が一番良かった

(44)

その他関連トピックス

(45)

谷口 雄作 - @yuusaku_tan

Cassandra 用語集の中で関連しそうな項目

•Merkle Tree

•Φ Accrual Failure Detector

•Snitch

※参考文献 Apache Cassandra Glossary's Japanese Translation

http://mocchira.posterous.com/apache-cassandra-glossarys-japanese-translati

(46)

Merkle Tree

•データ集合を小さな形式に要約した2分木構造

•暗号化や、ファイルや伝送データのベリファイに用いられる

•Cassandraでは、情報交換の際に使用される

‣ Column Family のhash値を計算

(47)

谷口 雄作 - @yuusaku_tan

Φ Accrual Failure Detector

•障害が発生したノードを検知するプロセス

•Cassandra では Φ Accrual Failure Detector に 更に手を加えたものを使用している

※参考文献 Φ Accrual Failure Detector Naohiro Hayashibara, Xavier Défago, Rami Yared, and Takuya Katayama In RR IS-RR-2004-010, JAIST, 2004

(48)

Snitch

•ノードとネットワークの物理的な位置を結びつける手法

•クラスタ内の相対的なノードの位置決定を支援する

‣ 新ノードの発見と効率的なRequest Routingの実現

(49)

谷口 雄作 - @yuusaku_tan

Q&A

参照

関連したドキュメント

9, Tokyo: The Centre for East Asian Cultural Studies for Unesco.. 1979 The Meaninglessness

D 2004 Radiocarbon, the calibration curve and Scythian chronology Impact of the Environment on Human Migration in

参考文献 Niv Buchbinder and Joseph (Seffi) Naor: The Design of Com- petitive Online Algorithms via a Primal-Dual Approach. Foundations and Trends® in Theoretical Computer

As was shown in [4]–[7], many geometric aspects of classical linear conjugation problems with sufficiently regular (differentiable, H¨ older) coefficients can be formulated

In this context the Riemann–Hilbert monodromy problem in the class of Yang–Mills connections takes the following form: for a prescribed mon- odromy and a fixed finite set of points on

classes of harmonic functions are introduced and mixed Zaremba’s bound- ary value problem is studed in them, i.e., the problem of constructing a harmonic function when on a part of

WANG Bee-Lan Chan(1980), Sex and Ethnic Differences in Educational Investment in Malaysia: The Effect of Reward Structures (Special Theme: Women and Education in the Third World),

参考文献 1) K.Matsuoka: Sustained Oscillations Generated by Mutually.. 神経振動子の周波数が 0.970Hz