1 / 19

SKIP GRAPHS (continued)

SKIP GRAPHS (continued). Some slides adapted from the original slides by James Aspnes Gauri Shah. Coming up. Load balancing. Tolerance to faults. Self-stabilization. Random faults. Adversarial faults. So far. . Decentralization. Locality properties.

sjarboe
Download Presentation

SKIP GRAPHS (continued)

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(continued) Some slides adapted from the original slides by James Aspnes Gauri Shah

  2. Coming up... • Load balancing. • Tolerance to faults. • Self-stabilization. • Random faults. • Adversarial faults. So far...  Decentralization. Locality properties. O(log n) neighbors per node. O(log n) search, insert, and delete time. Independent of system size.    

  3. Load balancing Interested in average load on a node u. i.e. how many searches from source s to destination t use node u? Theorem: Let dist (u, t) = d. Then the probability that a search from s to t passes through u is < 2/(d+1). where V = {nodes v: u <= v <= t} and |V| = d+1.

  4. Node u Skip list restriction s Level 2 Level 1 u Level 0 t Node u is on the search path from s to t only if it is in the skip list formed from the lists of s at each level.

  5. s u u u t d+1 Pr [u T] = Pr[|T|=k] • k/(d+1) = E[|T|]/(d+1). k=1 Tallest nodes s u is not on path. u is on path.  u u t Node u is on the search path from s to t only if it is in T = the set of k tallest nodes in the path [u..t]. Heights independent of position, so distances are symmetric.

  6. = T Load on node u Start with n nodes. Each node goes to next set with prob. 1/2. We want expected size of T = last non-empty set. We show that: E[|T|] < 2. Asymptotically: E[|T|] = 1/(ln 2)  2x10-5  1.4427… [Trie analysis] Average load on a node is inversely proportional to the distance from the destination. We also show that the distribution of average load declines exponentially beyond this point.

  7. 1.1 1.0 Expected load Actual load Destination = 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 Experimental result Load on node Node location

  8. Fault tolerance How do node failures affect skip graph performance? Random failures: Randomly chosen nodes fail. Experimental results. Adversarial failures: Adversary carefully chooses nodes that fail. Bound on expansion ratio.

  9. Random faults 131072 nodes

  10. Searches with random failures 131072 nodes 10000 messages

  11. Adversarial faults dA = nodes adjacent to A but not in A. Expansion ratio = min |dA|/|A|, 1 <= |A| <= n/2. A dA Theorem: A skip graph with n nodes has expansion ratio =  (1/log n). f failures can isolate only O(f•log n ) nodes.

  12. Need for repair mechanism G W Level 2 A J M R R W G Level 1 A J M Level 0 A G J R W M Node failures can leave skip graph in inconsistent state.

  13. Successor constraints 2 1 xR xR i-1 i-1 xR i x Level i k k xRi = xRi-1. xLi = xLi-1. x Level i-1 ..00.. ..01.. ..00.. Ideal skip graph Let xRi (xLi) be the right (left) neighbor of x at level i. If xLi, xRi exist: xLi < x < xRi. xLiRi = xRiLi = x. Invariant

  14. 1 1 1 2 5 5 5 6 6 4 Basic repair If a node detects a missing neighbor, it tries to patch the link using other levels. 3 3 Also relink at other lower levels. Successor constraints may be violated by node arrivals or failures.

  15. x x ..00.. ..01.. ..01.. zipper ..01.. ..00.. ..01.. x Level i x Level i-1 Constraint violation Neighbor at level i not present at level (i-1). Level i x x Level i-1 ..00.. ..01.. ..01.. ..01.. ..00.. ..01.. ..01.. ..01..

  16. Self-stabilization zOp(B) zOp(E) zOp(I) A C D F J zipperOp message Level i B E G H I zOp(A) zOp(D) zOp(F) Eventually want each connected component of the skip graph to reorganize itself into an ideal skip graph.

  17. Conclusions Similarities with DHTs • Decentralization. • O(log n) space at each node. • O(log n) search time. • Load balancing properties. • Tolerant of random faults.

  18. Differences

  19. Open Problems • Design efficient repair mechanism. • Incorporate geographical proximity. • Study multi-dimensional skip graphs. • Evaluate performance in practice.

More Related