Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Distributed Polylogarithmic Time Algorithm for Self- Stabilizing Skip Graphs Stefan Schmid & Christian Scheideler Dept. of Computer Science University.

Similar presentations


Presentation on theme: "A Distributed Polylogarithmic Time Algorithm for Self- Stabilizing Skip Graphs Stefan Schmid & Christian Scheideler Dept. of Computer Science University."— Presentation transcript:

1 A Distributed Polylogarithmic Time Algorithm for Self- Stabilizing Skip Graphs Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn Riko Jacob & Hanjo Täubig Dept. of Computer Science Technische Universität München Andrea Richa Dept. of Computer Science Arizona State University

2 Overlay Network Internet

3 Overlay Network Basic question: how to organize sites in a scalable and robust overlay network??? Problem: high join/leave activity!

4 Overlay Network Scalability: Every operation needs at most (poly-)logarithmic time and work

5 Overlay Network Robustness: can recover from any attack (  self-stabilizing overlay network)

6 Overview Basic notation Prior work Self-stabilizing skip graph Conclusion

7 Basic Notation Overlay network: directed graph G=(V,E): V: set of nodes E  {(v,w) | v,w  V}: set of edges A D B C v knows w

8 Basic Notation State of a node v: Local variables Neighborhood N(v) Set of actions/rules of the form :  The set of actions is the same for every node and is supposed to be immutable.

9 Basic Notation The nodes may only know the local state of their direct neighbors. Only the following overlay commands: –u.insert(v,w): u asks neighbor v to establish edge to neighbor w u v w u v w

10 Basic Notation The nodes may only know the local state of their direct neighbors. Only the following overlay commands: –u.move(v,w): u asks neighbor v to establish edge to neighbor w and removes (u,w) –no delete operation! u v w u v w

11 Basic Notation The nodes may only know the local state of their direct neighbors. Only the following overlay commands: –u.move(v,w): u asks neighbor v to establish edge to neighbor w and removes (u,w) –sufficient to merge parallel edges u v w u v w

12 Basic Notation Self-stabilizing overlay network: A network that can get back to a desired topology from any initial state in which the network is still weakly connected.

13 Basic Notation During the self-stabilization process: Node set is fixed, all nodes reliable Messages arrive within a time unit No message loss

14 Basic Notation During the self-stabilization process: Time proceeds in synchronous rounds. All actions that are enabled in a round (i.e. their guard is true) are executed. All local and overlay commands are correctly executed within the given round. Simplifies analysis!

15 Basic Requirements Scalability: Only O(polylog(n)) many enabled actions per join or leave operation to get back to legal topology Robustness: Self-stabilization from any weakly connec- ted state

16 Our Requirements Scalability: Only O(polylog(n)) many enabled actions per join or leave operation to get back to legal topology Robustness: Quick self-stabilization from any weakly connected state

17 Overview Basic notation Prior work Self-stabilizing skip graph Conclusion

18 Prior Work Self-stabilization goes back to Dijkstra´s seminal work in 1974 Self-stabilizing algorithms known for leader election, various communication protocols, graph theory problems, termination detection, clock synchronization, etc. Underlying network is usually assumed to be static (if not, then changes are not under control of algorithm but happen in a random or adversarial manner)

19 Prior Work Static networks allow efficient cross-checking of distributed computation Development of various techniques that convert conventional algorithms into self- stabilizing algorithms (Awerbuch, Dolev, Herman, Kutten, Patt- Shamir, Varghese,…) u v w S t+1 (u) = f(S t (u),S t (v),S t (w))

20 Prior Work These general techniques do not work (well) for self-stabilizing overlay networks. u v v´ Time tTime t+1 u w w´ w´´ S t+1 (u) = f(S t (u),S t (v),S t (v´)) Two options: find old neighbors reset

21 Prior Work Suprisingly little known for self-stabilizing overlay networks Chord network [Stoica et al.]: recovery from certain degenerate states. Problem: Chord not locally checkable Skip graphs [Aspnes & Shah]: recovery from certain degenerate states. Problem: skip graphs not locally checkable as well Self-stabilizing line/cycle/hypertree: - Angluin, Aspnes, … Cramer & Fuhrmann Shaker & Reeves Dolev & Kat 2007

22 Overview Basic notation Prior work Self-stabilizing skip graph Conclusion

23 Self-Stabilizing Skip Graph Each node v has arbitrary unique name v.id and random bit string v.rs v.id and v.rs are assumed to be immutable pre i (v): first i bits of v.rs Skip graph rule: For every node v and i  IN 0 : v connects to closest successor and predecessor w (w.r.t. v.id ) with pre i (w) = pre i (v)

24 Self-Stabilizing Skip Graph Nodes v with v.rs=0… Nodes v with v.rs=1…

25 Self-Stabilizing Skip Graph Hierarchical view:   log n) degree,  (log n) diameter,  (1) expansion w.h.p.

26 Self-Stabilizing Skip Graph Problem: original skip graph does not allow local checking of correct topology w v

27 Self-Stabilizing Skip Graph Problem: original skip graph does not allow local checking of correct topology Solution: extend connections For each node v let succ i (v,b), b  {0,1}: closest successor of v with prefix pre i (v)  b pred i (v,b), b  {0,1}: closest predecessor of v with prefix pre i (v)  b range i (v)=[min b pred i (v,b), max b succ i (v,b)] v connects to all nodes w  range i (v)with pre i (w) = pre i (v) Result: SKIP+ Skip graph: range i (v)=[pred i (v),succ i (v)]

28 Self-Stabilizing Skip Graph  log n) degree,  (log n) diameter,  (1) expansion w.h.p.

29 Self-Stabilizing Skip Graph edge (u,v) stable: SKIP+ edge from viewpoint of u otherwise, (u,v) is temporary flag F(v): indicator in u whether (u,v) stable Rule 1a: create reverse edges uv stable uv

30 Self-Stabilizing Skip Graph Rule 1b/c: introduce stable edges Rule 2: forward temporary edges u v w w.id  range i (v) u v w bc u v w (longer prefix match) temp stable u v w

31 Self-Stabilizing Skip Graph Rule 3a: introduce all u changes set of stable neighbors: initiates insert(v,w) for all neighbors v,w of u Rule 3b: linearize u v1v1 v2v2 v3v3 vkvk stable … u v1v1 v2v2 v3v3 vkvk …

32 Self-Stabilizing Skip Graph Each node u follows six rules: Rule 1a: create reverse edges to u Rules 1b and 1c: introduce stable edges between neighbors of u Rule 2: forward temporary edges Rule 3a: introduce all when stable neighborhood changes Rule 3b: linearize stable neighborhood

33 Self-Stabilizing Skip Graph Theorem 1: For any weakly connected graph, the rules establish SKIP+ in O(log 2 n) rounds w.h.p. Theorem 2: Any join or leave operation in a perfect SKIP+ requires at most O(log 4 n) work.

34 Self-Stabilizing Skip Graph Proof of Theorem 1: Bottom-up phase: connected components are formed for every prefix 

35 Self-Stabilizing Skip Graph Proof of Theorem 1: Top-down phase: components sorted

36 Conclusions Many interesting fronts to work on in context of self-stabilizing overlay networks: Show O(log n) runtime bound bound/restrict number of enabled actions to polylog at each node per round self-stabilizing networks under adversarial behavior self-preserving networks self-optimizing networks

37 Questions?


Download ppt "A Distributed Polylogarithmic Time Algorithm for Self- Stabilizing Skip Graphs Stefan Schmid & Christian Scheideler Dept. of Computer Science University."

Similar presentations


Ads by Google