Title: SKIP GRAPHS (continued)
1SKIP GRAPHS(continued)
Some slides adapted from the original slides
by James Aspnes Gauri Shah
2So far...
?
Decentralization. Locality properties.
O(log n) neighbors per node. O(log n)
search, insert, and delete time. Independent
of system size.
?
?
?
?
3Load 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 lt 2/(d1).
where V nodes v u lt v lt t and V d1.
4Skip 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.
5Tallest 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.
6Load 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 ET lt 2.
Asymptotically ET 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.
7Experimental result
Load on node
Node location
8Fault 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.
9Random faults
131072 nodes
10Searches with random failures
131072 nodes 10000 messages
11Adversarial faults
dA nodes adjacent to A but not in
A. Expansion ratio min dA/A,
1 lt A lt n/2.
A
dA
Theorem A skip graph with n nodes has
expansion ratio ? (1/log n).
f failures can isolate only O(flog n ) nodes.
12Need for repair mechanism
G
W
Level 2
R
A
J
M
W
R
G
Level 1
A
J
M
Level 0
A
G
J
R
W
M
Node failures can leave skip graph in
inconsistent state.
13Ideal skip graph
Let xRi (xLi) be the right (left) neighbor of x
at level i.
If xLi, xRi exist
xLi lt x lt xRi. xLiRi xRiLi x.
Invariant
14Basic 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.
15Constraint 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..
16Self-stabilization
zOp(B)
zOp(E)
zOp(I)
A
C
D
F
J
zipperOp message
Level i
B
E
G
H
I
zOp(D)
zOp(A)
zOp(F)
Eventually want each connected component of the
skip graph to reorganize itself into an ideal
skip graph.
17Conclusions
Similarities with DHTs
- Decentralization.
- O(log n) space at each node.
- O(log n) search time.
- Load balancing properties.
- Tolerant of random faults.
18Differences
Property DHTs Skip Graphs
Insert/Delete time O(log2n) O(log n)
Locality No Yes
Repair mechanism ? Partial
Tolerance of adversarial faults ? Yes
Keyspace size Reqd. Not reqd.
19Open Problems
- Design efficient repair mechanism.
- Incorporate geographical proximity.
- Study multi-dimensional skip graphs.
- Evaluate performance in practice.