Download presentation

Presentation is loading. Please wait.

Published byAliyah Wager Modified over 2 years ago

1
**A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs**

Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn Andrea Richa Dept. of Computer Science Arizona State University Riko Jacob & Hanjo Täubig Dept. of Computer Science Technische Universität München

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,wV}: set of edges v knows w D B C A

8
**Basic Notation State of a node v: Local variables Neighborhood N(v)**

Set of actions/rules of the form <label>: <guard> <commands> 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 v v u u w 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! v v u u w 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 v v u u w 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,…) v u St+1(u) = f(St(u),St(v),St(w)) w

20
**Prior Work Two options:**

find old neighbors reset These general techniques do not work (well) for self-stabilizing overlay networks. Time t Time t+1 v w u u w´ v´ w´´ St+1(u) = f(St(u),St(v),St(v´))

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 prei(v): first i bits of v.rs Skip graph rule: For every node v and iIN0: v connects to closest successor and predecessor w (w.r.t. v.id ) with prei(w) = prei(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: 000 001 00 01 10 11 1 (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 01.. 10.. 11.. 00.. 11.. 10.. 01.. 11.. 10.. 00..

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 succi(v,b), b{0,1}: closest successor of v with prefix prei(v)b predi(v,b), b{0,1}: closest predecessor of v with prefix prei(v)b rangei(v)=[minb predi(v,b), maxb succi(v,b)] v connects to all nodes wrangei(v)with prei(w) = prei(v) Result: SKIP+ Skip graph: rangei(v)=[predi(v),succi(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 u v u v stable

30
**Self-Stabilizing Skip Graph**

Rule 1b/c: introduce stable edges Rule 2: forward temporary edges v v u u b c w w w.id rangei(v) v v u u temp stable w (longer prefix match) 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 v1 v2 v3 vk v1 v2 v3 vk … … stable stable stable u u

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(log2 n) rounds w.h.p. Theorem 2: Any join or leave operation in a perfect SKIP+ requires at most O(log4 n) work.

34
**Self-Stabilizing Skip Graph**

Proof of Theorem 1: Bottom-up phase: connected components are formed for every prefix 000 001 00 01 10 11 1

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?

Similar presentations

OK

CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.

CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on rural and urban livelihood Ppt on part of speech Ppt on law of conservation of mass Ppt on viruses and anti viruses software Download ppt on mind controlled robotic arms for manufacturing Ppt on wifi networking concepts Ppt on autonomous car software Ppt on earth movements and major landforms in texas Ppt on principles of peace building in africa Ppt on travel and tourism in india free download