Know thy Neighbor’s Neighbor Better Routing for Skip Graphs and Small Worlds Moni Naor Udi Wieder
Properties of Greedy O(1) O(log2n) O(log n) O(log n) Scheme Degree Greedy – path length Kleinberg’s Small world O(1) O(log2n) Randomized Chord O(log n) Skip Graph O(log n) Simple – to understand and to implement. Local – If source and target are close, the path remains within a small area in the keyspace. Howver, route not optimal with respect to the degree.
Can Greedy Routing be further shortened Question Can Greedy Routing be further shortened Without compromising the good properties? This paper examines this issue.
Optimal diameter For a graph in which each node has degree d, The optimal diameter is O(logdn) When d=log n, the optimal diameter is O(log n/log log n) Proof?
Neighbor of Neighbor (NoN) Routing Each node has a list of its neighbor’s neighbors.The message is routed greedily to the closest neighbor of neighbor (2 hops). This means: Let w1, w2, … wk be the neighbors of current node u For each wi find zi, the closest neighbor to target t Let j be such that zj is the closest to target t Route the message from u via wj to zj The first hop may not be a greedy choice.
Degree Optimal P2P Routing Different routing schemes Viceroy emulates the butterfly network Constant degree O(log n) hops for routing Constructions emulating De-Bruijn graphs Can achieve any degree/number of hops tradeoff In particular degree O(log n) and O(log n/ log log n) hops Routing is not greedy
Each node chooses a random string of bits. Skip-Graphs Each node (resource) has a name. Nodes are arranged on a line sorted by name. a b c d e f 1 Each node chooses a random string of bits. An edge is established if two nodes share a prefix which is not shared by the nodes between them.
Routing in Skip-Graphs Greedy Routing – use longest edge possible. Path length is (log n) w.h.p. 1 The NoN algorithm optimizes over two hops. Theorem: Using the NoN algorithm, the expected path length of any lookup is .
Skip Graphs – degree optimality = l o g d X - # of two hop paths between d and D - the event a message reached the node d. [ d l o g ; ] Lemma: Prob [ ( X > ) j D ] ¸ 1 2 Sufficiency of lemma: Call a NoN 2-hop successful if it reduces the distance from d to log d . Need O(log log n) succesful 2-hops to get to distance 1.
The Cost/Performance of NoN Cost of Neighbor of Neighbor lists: Memory: O(log2n) - marginally higher. Communication: Is it tantamount to squaring the degree? Neighbor lists should be maintained (open connection, pinging, etc.) NoN lists should only be kept up-to-date. Lazy updates: Updates occur only when communication load is low – supported by simulations. Networks of size 217 show 30-40% improvement
Conclusions NoN Greedy seems like an almost free tweak that is a good idea in many settings.