14
スキップグラフにおける仮想レプリカノード によるフラッシュクラウド耐性向上手法 ショウ シュン 、地引昌弘、寺西裕一、西永望 20141114

x-shao 20141113IEICENV Replica4SGnv/nv2014-20-shao.pdfスキップグラフにおける仮想レプリカノード によるフラッシュクラウド耐性向上手法 ショウ

  • 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