1 / 34

Skip Graphs の仕組みと 関連研究

Skip Graphs の仕組みと 関連研究. 大阪大学工学部 電子情報エネルギー工学科 小西 佑治. 株式会社 BBR 吉田 幹. 発表構成. 前半(小西) Skip Graph の仕組みの解説 後半(吉田) 地理的探索オーバレイ LL-Net の Skip Graph を使った実装. 前半の概要. 自己紹介 イントロ Skip Graphs について 関連研究の紹介. 自己紹介. 大阪大学の4回生です ただいま卒業研究の真最中 の管理人

cortez
Télécharger la présentation

Skip Graphs の仕組みと 関連研究

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Skip Graphs の仕組みと関連研究 大阪大学工学部電子情報エネルギー工学科小西 佑治 株式会社 BBR 吉田 幹

  2. 発表構成 • 前半(小西) • Skip Graph の仕組みの解説 • 後半(吉田) • 地理的探索オーバレイ LL-Net の Skip Graphを使った実装

  3. 前半の概要 • 自己紹介 • イントロ • Skip Graphs について • 関連研究の紹介

  4. 自己紹介 • 大阪大学の4回生です • ただいま卒業研究の真最中 • の管理人 • skip graph や SkipNetで検索した人は見たことがあるかも・・・

  5. P2Pネットワーク • 分散処理システム • ピアが集まって形成されるネットワーク • Keyによって識別されるリソースを保持 どのようにピアを配置すると効率的か??

  6. データの有効性 非集中 スケーラビリティ フォールトトレランス 負荷分散 ネットワークの維持 自己安定化 ピアの動的な追加や削除 効率的な探索 地理的位置の考慮 時間的・空間的なリソースの配置 理想的なP2Pネットワークの特徴

  7. 初期のP2Pシステム • Napster • インデックスサーバがボトルネック • Gnutella • 非効率なフラッディングによる検索 • Freenet • 検索待ち時間の保証がない

  8. DHT(分散ハッシュテーブル) • Structuredオーバーレイの代表格 • CAN、Chord、Pastry、Tapestry、・・・ • リソースのKeyをハッシュして、スケーラビリティと負荷分散を実現 ハッシュにより Key の順序が崩れ、範囲検索が困難

  9. Skip Graphs 論文:"Skip Graphs"James Aspnes, Gauri ShahSODA, Jan. 2003, pp.384-393 • 双方向リンクの Skip List をP2Pシステムに適用 • ルーティングテーブルのリンク数: • Keyをハッシュしない • 範囲検索に対応(1次元) • システム全体のノード数を知る必要がない

  10. HEAD TAIL Level 2 33 Level 1 13 33 48 Level 0 13 21 33 48 75 99 Skip List • ノードは Key 順に並ぶ • Level 0 は全てのノードが含まれたリスト • Level (i-1) に現れるノードはある確率 p で Level i にも現れる 数字が Key

  11. HEAD TAIL success failure Level 2 33 Level 1 13 33 48 Level 0 13 21 33 48 75 99 Skip List での検索 • 上位レベルから下位レベルに降りてくる • 平均探索時間 : HEAD から Key “75”を検索

  12. 21 33 Membershipvector Level 2 10 01 13 48 75 99 11 00 00 11 21 75 99 Level 1 11 10 11 13 33 48 Skip List 00 00 01 13 21 33 48 75 99 Level 0 11 00 10 01 00 11 Skip Graph の構成 • N ノードの skip graph のレベル数は • Level i では Membership vector の接頭辞が i 桁一致するもの同士がリンクをはる

  13. 検索・ノード追加・ノード削除 • 検索 • 平均時間: • ノードの追加・削除 • 平均時間:

  14. 21 33 Level 2 success failure 10 01 13 48 75 99 11 00 00 11 21 75 99 Level 1 11 10 11 13 33 48 00 00 01 13 21 33 48 75 99 Skip List Level 0 11 00 10 01 00 11 Skip Graph での検索 Key “33”のノードから Key “75”を検索 Skip List と同様に検索を行う 一致する Key がない場合は Key が近いノードまで届く

  15. 21 33 Level 2 10 01 13 48 75 99 11 00 00 11 21 75 99 Level 1 11 10 11 13 33 48 00 00 01 13 21 33 48 75 99 Level 0 11 00 10 01 00 11 Skip Graph でのノード追加 Introducer から Level 0 での新規ノードの位置を 検索し、新規ノードを Level 0 に追加する introducer new 40 00

  16. 21 21 21 33 33 33 Level 2 Level 2 Level 2 10 10 10 01 01 01 13 13 13 48 48 48 75 75 75 99 99 99 40 11 11 11 00 00 00 00 00 00 11 11 11 00 21 21 21 75 75 75 99 99 99 Level 1 Level 1 Level 1 11 11 11 10 10 10 11 11 11 40 40 13 13 13 33 33 33 48 48 48 00 00 00 00 00 00 00 00 01 01 01 13 13 13 21 21 21 33 33 33 40 40 40 48 48 48 75 75 75 99 99 99 Level 0 Level 0 Level 0 11 11 11 00 00 00 10 10 10 01 01 01 00 00 00 00 00 00 11 11 11 Skip Graph でのノード追加 Level i-1 (i>0) で接頭辞の i 桁目が同じノードを 探して、 Level i でリンクをつくる

  17. 自己安定性 • Skip Graph のノードの制約条件 • 制約条件が破られる場合 • 修復機構

  18. ノードの制約条件 x の Level i における左右のノードを xLi、xRiとする xLi< x < xRi xLiRi= xRiLi= x xLi = xLki-1 xRi = xRki-1 xRi key x Level i x Level i-1 x xLi xRi 01 00 00 xR1i-1 xR2i-1 invariant 条件:未配達のメッセージのない全ての状態で満たされる条件(ノード故障があっても満たされる) L & R successor 条件:ノードやリンクの故障で満たされなくなる条件修復機構の対象になる

  19. Successor 制約条件が破られる場合 • xRi= xRki-1だが ∃a = xRk’i-1、k’< k 、m(x)i= m(a)i • ∀k に対して xRi ≠ xRki-1 xRi Membership vector が i 桁同じ a が xRiになっ ていない x Level i Level i-1 x a …00… …00… …00… xRk’i-1 xRki-1 xRi x Level i xRiが Level i-1 に存在しない Level i-1 x

  20. zipperOpF zipperOpB a Level i Level i xRi x x x x Level i-1 Level i-1 a a …00… …00… …00… …00… …00… …00… xRk’i-1 xRk’i-1 xRki-1 xRki-1 修復機構:Case1 x と a 、xRiと a に対して、Level i でそれぞれ リンクのつなぎ換えを行う

  21. aLi-1 xRi Level i-1 L R a x 修復機構:Case2-1 xRi x Level i Level i-1 において、a と xRiに接続するノード群は マージされ同じリスト上になる aLi-1 x a Level i-1 zipperOpB zipperOpF L R xRi より小さく aLi-1より大きい 最小の key を持つノード xRi より大きく a より小さい 最大の key を持つノード

  22. xRi aRi-1 Level i-1 x a M 修復機構:Case2-2 xRi x Level i aRi-1 x a zipperOpF Level i-1 zipperOpB M xRiLk’i-1で a より大きい最小のノード

  23. xRi Level i-1 x a R 修復機構:Case2-3 xRi x Level i a x zipperOpB Level i-1 R xRiLk’i-1で a より大きい最小のノード

  24. フォールトトレランス • Adversarial failures • Random failures

  25. expansion ratio = min |δA | / | A | (1 ≦ | A | ≦ n/2) f ノードの故障で        のノードが分離する可能性あり Adversarial failures • Adversarial failures の対象ノードのセット:A • Aにリンクを張っているノードのセット:δA • もし A を分離しようとすると、δA のノード全てを故障させなければならない

  26. Random failures 131072 nodes

  27. Random failures 時の探索 131072 nodes 10000 messages

  28. 負荷分散 s から t への検索経路上に u が存在する確率 PP=(Level k の経路に存在する u の数の期待値)/(d+1) < 2/(d+1) s s から t への検索経路 u : s < u < t なるノード d : u < v < t なる v の数 u u t u

  29. 1.1 1.0 負荷の期待値 実際の負荷 目的ノード = 76542 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 76400 76450 76500 76550 76600 76650 実験結果 ノードの負荷 ノードの場所

  30. 論文で述べられている課題 • 効率的な修復機構を考える • 地理的位置の近接性の考慮 • 実環境での性能の評価 • 多次元 Skip Graph • ビザンチン障害の影響の研究

  31. 関連研究 • SkipNet :A scalable overlay network with practical locality properties • Nicholas J. A. Harvey, Michael B. Jones, Stefan Saroiu, Marvin Theimer, and Alec Wolman. In Proceedings of USITS, USENIX., 2003 • Skip List の P2P 適用だが、構造はリストではなくリング

  32. 関連研究 • The Rainbow Skip Graph : Fault-Tolerant Constant-Degree Distributed Data Structure • Michael T. Goodrich, Michael J. Nelson, and Jonathan Zheng Sun.SODA ’06, January 22-26, Miami, FL • Level 0 のリストを Θ(logn) の Core List に区切り、その Core List を1つのノード(Super Node)として扱って Skip Graph を構築する • Core List 内のノードは分担して各レベルを担当する • 検索などのコストを Skip Graph と変えずに、ポインタの保持数を減らしている

  33. 関連研究 • Skip B-Trees • Ittai Abraham, James Aspnes, and Jian Yuan. OPODIS Dec. 2005, pp. 284–295. • タイトル通り、Skip Graph に B木の考え方を組み合わせたもの。 • Skip Graph の各レベルの各リストはブロックに分けられる

  34. 個人的な所感 範囲検索ができるというのは、 ユビキタスとかP2Pとかが流行るにつれて ますます重要になるのではないか。 範囲検索できる Skip Graph は魅力的。 Key と ID をうまく使い分けしてやるといろいろな用途に使えそう。 ご清聴ありがとうございました。 次は吉田さんです。

More Related