Stefan Schmid & Christian Scheideler Dept. of Computer Science

Slides:



Advertisements
Similar presentations
Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
Advertisements

Energy-Efficient Distributed Algorithms for Ad hoc Wireless Networks Gopal Pandurangan Department of Computer Science Purdue University.
Chapter 5: Tree Constructions
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
One Hop Lookups for Peer-to-Peer Overlays Anjali Gupta, Barbara Liskov, Rodrigo Rodrigues Laboratory for Computer Science, MIT.
Peer to Peer and Distributed Hash Tables
Lecture 8: Asynchronous Network Algorithms
Chapter 15 Basic Asynchronous Network Algorithms
Distribution and Revocation of Cryptographic Keys in Sensor Networks Amrinder Singh Dept. of Computer Science Virginia Tech.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
Fabian Kuhn, Microsoft Research, Silicon Valley
A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Wireless Sensor Networks 21st Lecture Christian Schindelhauer.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CSE 421 Algorithms Richard Anderson Dijkstra’s algorithm.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Distributed Coloring in Õ(  log n) Bit Rounds COST 293 GRAAL and.
Robust Mixing for Structured Overlay Networks Christian Scheideler Institut für Informatik Technische Universität München.
Distributed Computing Group A Self-Repairing Peer-to-Peer System Resilient to Dynamic Adversarial Churn Fabian Kuhn Stefan Schmid Roger Wattenhofer IPTPS.
Geometric Spanners for Routing in Mobile Networks Jie Gao, Leonidas Guibas, John Hershberger, Li Zhang, An Zhu.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Building Low-Diameter P2P Networks Eli Upfal Department of Computer Science Brown University Joint work with Gopal Pandurangan and Prabhakar Raghavan.
Aggregating Information in Peer-to-Peer Systems for Improved Join and Leave Distributed Computing Group Keno Albrecht Ruedi Arnold Michael Gähwiler Roger.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
Localized Self- healing using Expanders Gopal Pandurangan Nanyang Technological University, Singapore Amitabh Trehan Technion - Israel Institute of Technology,
EE 122: A Note On Joining Operation in Chord Ion Stoica October 20, 2002.
1 ICS 214B: Transaction Processing and Distributed Data Management Distributed Database Systems.
A DoS-Resilient Information System for Dynamic Data Management Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn Matthias.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Distributed Computing 5. Synchronization Shmuel Zaks ©
Selected topics in distributed computing Shmuel Zaks
Towards Scalable and Robust Overlay Networks Christian Scheideler Institut für Informatik Technische Universität München Baruch Awerbuch Dept. of Computer.
Distributed Coloring Discrete Mathematics and Algorithms Seminar Melih Onus November
Andreas Larsson, Philippas Tsigas SIROCCO Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
DISTRIBUTED SYSTEMS II A POLYNOMIAL LOCAL SOLUTION TO MUTUAL EXCLUSION Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
1 Leader Election in Rings. 2 A Ring Network Sense of direction left right.
Chord Advanced issues. Analysis Theorem. Search takes O (log N) time (Note that in general, 2 m may be much larger than N) Proof. After log N forwarding.
Chord Advanced issues. Analysis Search takes O(log(N)) time –Proof 1 (intuition): At each step, distance between query and peer hosting the object reduces.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Self-stabilization. What is Self-stabilization? Technique for spontaneous healing after transient failure or perturbation. Non-masking tolerance (Forward.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
Towards a Scalable and Robust DHT Baruch Awerbuch Johns Hopkins University Christian Scheideler Technical University of Munich.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Superstabilizing Protocols for Dynamic Distributed Systems Authors: Shlomi Dolev, Ted Herman Presented by: Vikas Motwani CSE 291: Wireless Sensor Networks.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Peer-to-Peer Data Structures Christian Scheideler Dept. of Computer Science Johns Hopkins University.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Robust Random Number Generation for Peer-to-Peer Systems Baruch Awerbuch Johns Hopkins University Christian Scheideler Technical University of Munich.
Self-stabilizing Overlay Networks Sukumar Ghosh University of Iowa Work in progress. Jointly with Andrew Berns and Sriram Pemmaraju (Talk at Michigan Technological.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Christian Scheideler Dept. of Computer Science
New Characterizations in Turnstile Streams with Applications
Distributed Maintenance of Spanning Tree using Labeled Tree Encoding
Controlling the Cost of Reliability in Peer-to-Peer Overlays
New Variants of Self-Stabilization
SKIP GRAPHS James Aspnes Gauri Shah SODA 2003.
Chord Advanced issues.
Chord Advanced issues.
Chord Advanced issues.
Corona Robust Low Atomicity Peer-To-Peer Systems
SKIP GRAPHS (continued)
Presentation transcript:

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

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)

Overview Basic notation Prior work Self-stabilizing skip graph Conclusion

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

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 v v u u w 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! v v u u w 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 v v u u w 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

Overview Basic notation Prior work Self-stabilizing skip graph Conclusion

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,…) v u St+1(u) = f(St(u),St(v),St(w)) w

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´))

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, … 2005 - Cramer & Fuhrmann 2005 - Shaker & Reeves 2005 - Dolev & Kat 2007

Overview Basic notation Prior work Self-stabilizing skip graph Conclusion

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 iIN0: v connects to closest successor and predecessor w (w.r.t. v.id ) with prei(w) = prei(v)

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

Self-Stabilizing Skip Graph Hierarchical view: 000 001 00 01 10 11 1  (log n) degree, (log n) diameter, (1) expansion w.h.p.

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..

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 wrangei(v)with prei(w) = prei(v) Result: SKIP+ Skip graph: rangei(v)=[predi(v),succi(v)]

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

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

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

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

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

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.

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 

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

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

Questions?