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
37
Embed
A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs
A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs. Andrea Richa Dept. of Computer Science Arizona State University. Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn. Riko Jacob & Hanjo Täubig Dept. of Computer Science - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs
Stefan Schmid & Christian ScheidelerDept. of Computer Science
University of Paderborn
Riko Jacob & Hanjo TäubigDept. of Computer Science
Technische Universität München
Andrea RichaDept. of Computer Science
Arizona State University
Overlay Network
Internet
Overlay Network
Basic question: how to organize sites in a scalable and robust overlay network???
Problem: high join/leave activity!
Overlay Network
Scalability: Every operation needs at most (poly-)logarithmic time and work
Overlay Network
Robustness: can recover from any attack ( self-stabilizing overlay network)
Overlay network: directed graph G=(V,E):• V: set of nodes• E {(v,w) | v,wV}: set of edges
A
DB C
v knows w
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.
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
uv
wu
v
w
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!
uv
wu
v
w
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
uv
wu
v
w
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.
Basic Notation
During the self-stabilization process:• Node set is fixed, all nodes reliable• Messages arrive within a time unit• No message loss
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!
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
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
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)
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,…)
uv
wSt+1(u) = f(St(u),St(v),St(w))
Prior Work
These general techniques do not work (well) for self-stabilizing overlay networks.
uv
v´
Time t Time t+1
u
w
w´
w´´
St+1(u) = f(St(u),St(v),St(v´))
Two options:• find old neighbors• reset
Prior WorkSuprisingly little known for self-stabilizingoverlay 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 Skip GraphProblem: original skip graph does not allow local checking of correct
topology
10..00.. 01.. 11..11..11..10.. 00..
wv
01.. 10..
Self-Stabilizing Skip GraphProblem: original skip graph does not allow local checking of
correct topology
Solution: extend connectionsFor 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)
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.
Self-Stabilizing Skip Graph
Proof of Theorem 1:• Bottom-up phase: connected components
are formed for every prefix
0 1
00 01 10 11
000 001
Self-Stabilizing Skip Graph
Proof of Theorem 1:• Top-down phase: components sorted
Conclusions
Many interesting fronts to work on in contextof 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