190 likes | 202 Views
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.
E N D
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. O(log n) neighbors per node. O(log n) search, insert, and delete time. Independent of system size.
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.
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.
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.
= 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.
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
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.
Random faults 131072 nodes
Searches with random failures 131072 nodes 10000 messages
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.
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.
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
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.
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..
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.
Conclusions Similarities with DHTs • Decentralization. • O(log n) space at each node. • O(log n) search time. • Load balancing properties. • Tolerant of random faults.
Open Problems • Design efficient repair mechanism. • Incorporate geographical proximity. • Study multi-dimensional skip graphs. • Evaluate performance in practice.