Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
スキップグラフにおける仮想レプリカノードによるフラッシュクラウド耐性向上手法
ショウ シュン、地引昌弘、寺西裕一、西永望 2014年11月14日
loca%on Sensor
140,22 CO2
loca%on Sensor
160,40 CO2loca%on Sensor
200,100 CO2
Skip Graph、およびその応用
例1:Range queriable sensor overlay networks[1]
例2:Range queriable Key-value store [2]
Skip Graph の最大な特徴: 範囲検索が可能. e.g. key の範囲は [a, b] のノードを探すようなことができる
IPSJ SIG Technical Report
0 ~ 9999 10000 ~ 20000 20000 ~ 30000 30000 ~ 40000
Key Value
20 v20
50 v50
Key Value
10080 v10080
10250 v10250
Key Value
30134 v30134
38772 v38772
Key Value
21003 v21003
28425 v28425
User Key Space
Storage Key Space
Range Key
10 60
NodeA NodeB NodeC NodeD
8 Range-Key Skip GraphFig. 8 Range-key Skip Graph based key-value store
Range-Key Skip Graph
PUT(Ku, V ) Ku
V Ku
GET(Ku) Ku
Ku V
GETRANGE(Kus, Kue) [Kus, Kue] [Kus, Kue]
[Kus, Kue]
8 Range-Key Skip GraphUser Key Space Storage Key Space 10000
GETRANGE(10, 60)
[0, 99999] NodeA
[10, 60] (20, v20), (50, v50)Range-Key Skip Graph
Storage Key Space
membership vectormembership vector
01 2
membership vector 3bit membership vector
000 100 010 110 001 101 011 111 membership vectormembership vector
5.
5.1
9 Key-ValueRPC Interface API RPC
Key-Value Connector Local StorageR-Key SG Overlay Interface Range-Key Skip GraphKey-Value Connector Local Storage R-Key SG Overlay
Interface Key-Value RPC InterfaceRange-Key Skip Graph PIAX13)
PUT GET GETRANGE RPC Key-Value RPCInterface Key-Value Connector
Local StorageR-Key SG Overlay Interface
Range-Key Skip GraphR-Key SG Overlay Interface
Key-Value ConnectorLocal Storage Local Storage Range-Key Skip Graph
5.2
Multi-Key Skip Graph Range-Key SkipGraph 1
GET GETRANGE
100 0 1 10010 Range-Key
Skip Graph 1
1239 c⃝ 2010 Information Processing Society of Japan
[1] Y. Teranishi, “PIAX: Toward a Framework for Sensor Overlay Network,” in Proc. of CCNC’09, 2009 [2] Y. Ishi, Y. Teranishi, M. Yoshida, S. Takeuchi and S. Shimojo, “A Large Scale Key-‐Value Store Based on Range-‐Key Skip Graph and Its ApplicaEons,” in Proc. of DASFAA’10, 2010
Skip Graph: key を探すための分散データストラクチャ
Skip Graph の応用事例
9 13 53 6126 50
9 535013 6126
9 5013 6126
53
9 6126 50
000 100 010 111110 001Level 0
Level 1
Level 2
Level 3
key
Membership vector
2
query: sensor network 10km from location (160, 40)
query: data between 15,000 and 25,000
13 53
Skip Graph における flash crowds 問題
9 13 53 6126 50
InternetQuery routing flowQuery service flow
Flash crowds 問題による以下の負荷の激増 1) Query service load:Hotspot のノードが、ユーザへデータを提供する負荷 2) Query routing load:Hotspot 周辺ノードによる、hotspot へクエリを転送する負荷
Flash crowds 問題: 突発的に特定コンテンツへのリクエストが大量発生する事象 例:突発的な天候の変動により、ユーザの関心が特定のコンテンツに向かうため、特定ノード (hotspot) にクエリが集中する
2014/11/14 IEICE NV研究会 3
既存の P2P における flash crowds を緩和させる手法
Ø 既存手法:Hotspot ノードは周辺ノードにレプリカを持たせることで、query service load を分散する. 例: ノード 13、26、53 と 61 は、50 のレプリカを持つことで、50 と共にユーザーに要求されたデータを提供する
9 13 53 6126 50
InternetQuery routing flow
Query service flow
x Node x with y’s replica
50 50 50 50
y
2014/11/14 IEICE NV研究会 4
Ø 問題:Range queriable P2P (e.g. Skip Graph) によるhotspot zone には対応できない
9 13 53 6126 50
Hotspot zone: 同時に hotspot となった key が連続したノード群
提案手法概要
Physical node (b)
Key = 3 Key = 50
(d) 26
(b) 50
(f) 50
(c) 50
(a) 50
(f) 61
(c) 5
… (e) 53
…(b) 3
…
Hotspot ノードは空いているノード を探して、手伝いリクエストを送信する 手伝いリクエストを受け取った空いているノードは、hotspot の key を key とした仮想レプリカノードを作って、その仮想レプリカノードを普通のノードのように Skip Graph に join させる
仮想レプリカノード
1
11
22 2
1
2
2014/11/14 5
提案手法のイメージ:key は 50 の仮想 レプリカノードゾーン(オリジナルノードを含む)
(b) 50
(c) 50
(e) 50
(f) 50
(d) 50
(a) 50
50 5050
50 5050
50 50
50 50
5050
50
5050 50
001 1010 0000 100110 0001
Level 0
Level 1
Level 2
Level 3
(g) 50
50
50
50 50 50
010
50 5050 50Level 4 50 50 50
(s) 26
26
26
26
26
(t) 53
53
53
53
53
1011 011
(s) 26
(a) 50
物理ノード ID が s、key が 26 の普通ノード 物理ノード ID が a、key が 50 の仮想レプリカノード6
提案手法による負荷分散効果
Ø 定理1: 仮想レプリカノード数は M だとすれば、各仮想レプリカノード(hotspot 含む) が担当するquery service load の割合の期待値は: O(1/M)
Ø 定理2: 仮想レプリカノード数は M だとすれば、仮想レプリカゾーンに距離が d のノードが仮想レプリカゾーンへのクエリを転送する確率の期待値は: O(1/(M+d))
(提案手法でなければ、その確率の期待値は: O(1/d))
(d) 26
(b) 50
(f) 50
(c) 50
(a) 50
(f) 61
(c) 5
(e) 53
…(b) 3
…
Query routing flow
Query service flow
2014/11/14 IEICE NV研究会 7
queries to “50” queries to “50”
Virtual replica node Tree(VRNT) による オリジナルノードとレプリカノードの同期化
(b) 50
(d) 50
(e) 50
(c) 50
(a) 50
50 5050
5050
50 5050
5050
505050 50
001 0000 100110 0001
Level 0
Level 1
Level 2
Level 3
(f) 50
50
50
50 50
010
50 5050 50Level 4 50 50
(s) 26
26
26
26
26
(t) 53
53
53
53
53
1011 011
(x) z
(y) z
A physical node with physical ID x, key z
A virtual replica node with key y, generated by physical node z
Multicast flow
a
db c
e f
8
Ø オリジナルノードをルートとし、各レプリカノードへの mulEcast tree は VRNT と言い、オリジナルノードと仮想レプリカノードの同期化に用いる
VRNT による負荷の再配分Ø 仮想レプリカノード間の query service load 分布の偏りの起因:
- 仮想レプリカノード間の query service load 分散は確率的である - ユーザのクエリ分布には偏りがある場合がある
Ø 解決方法:周期的にVRNT による仮想レプリカノード間の負荷の再配分:
d
e
f g
(Rendezvous point procedure)
……
負荷過不足/過負荷の葉ノードは自分の空いているキャパシティ/過負荷の状況を親ノードにレポートする 親ノードは過負荷の job を負荷過不足ノードに配分する方法を決定し、過負荷ノードに送信する 過負荷ノードは、親ノードの指示に従って、job の一部(全部)を指定された負荷過不足ノードに転送する まだ負荷過不足/過負荷の子ノードがあれば、親ノードはその情報を自分の親にレポートする
(Rendezvous point procedure)
2014/11/14 IEICE NV研究会 9
1 12
3
4
1
2
3
4
提案手法の評価
• Simulation 設定 – Totally 10,000 nodes – Number of virtual replica nodes: 20 〜 200 – Results are from 200 randomly generated Skip Graphs
• 評価指標 – 仮想レプリカノード間の query service load 負荷分散
効果 – Hotspot zone に近くのノードの query routing load 負
荷分散効果 – VRNT 用いた負荷再配分の効果
2014/11/14 IEICE NV研究会 10
仮想レプリカノード間の負荷分散効果 (without VRNT による再配分)
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
20 40 60 80 100 120 140 160 180 200
Aver
age
serv
ice
load
Number of virtual replica nodes
0
0.2
0.4
0.6
0.8
1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07
CD
F(%
)
Service load ratio
Errorbar: 仮想レプリカノード実際の負荷の割合と理想値との標準差
少ないながらも、負荷の割合が大きいノードが偶々出現する
2014/11/14 IEICE NV研究会 11
仮想レプリカノード数
各ノ
ード
の que
ry se
rvice
load の
割合
各ノードの query service load の割合
割合
の累
積分
布
(仮想レプリカノード数: 100)
VRNT による負荷の再配分効果
0 0.005
0.01 0.015
0.02 0.025
0.03 0.035
0.04 0.045
0.05 0.055
20 40 60 80 100 120 140 160 180 200
Aver
age
serv
ice
load
Number of virtual replica nodes
負荷再配分の基準: |ノードの負荷 – 平均負荷| > 平均負荷 * 20%
Ø VRNT による負荷の再配分により、仮想レプリカノード間負荷の偏りを解消できた
0
0.2
0.4
0.6
0.8
1
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016
CD
F(%
)
Service load ratio
2014/11/14 IEICE NV研究会 12
仮想レプリカノード数
各ノ
ード
の que
ry se
rvice
load の
割合
各ノードの query service load の割合
割合
の累
積分
布
(仮想レプリカノード数: 100)
Hotspot zone に近くのノードの query routing load 分散効果
0
1000
2000
3000
4000
5000
6000
7000
0 10 20 30 40 50
Aver
age
num
ber o
f que
ries
forw
ardi
ng
Distance to the hotspot(hotspot zone)
No virtual replica node20 virtual replica nodes
100 virtual replica nodes200 virtual replica nodes
Ø 仮想レプリカノードを用いることで、hotspot zone に近くのノードの query routing load を著しく軽減できた
2014/11/14 IEICE NV研究会 13
Hotspot zone との距離(ノード数)
転送
する
クエ
リの
数
(クエリの総数: 10000)
Conclusion & Future work• 仮想レプリカノードを用いて、Skip Graph におけるフレッシュクラウ
ドを緩和させる手法を提案 – 提案手法は、hotspot ノードの query service load を軽減するのみなら
ず、hotspot の周辺ノードの query routing load を抑えることもできた – VRNT を用いて、低コストでオリジナルノードと仮想レプリカノード間
の同期化を実現できた – VRNT を用いて、仮想レプリカノード間の負荷を再配分することで、
負荷分布の偏りを解消できた – 解析とシミュレーションの結果によって、提案手法の有効性を確認し
た • Future work
– ユーザーのクエリの統計的特徴に基づいて、ユーザーに物理的に近いノードに仮想レプリカノードを持たせることで、ユーザーとの間の遅延時間を抑える方法の検討
2014/11/14 IEICE NV研究会 14