Self Stabilization Classical Results and Beyond… Elad Schiller CTI (Grece)

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Impossibility of Distributed Consensus with One Faulty Process
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
Chapter 7 - Local Stabilization1 Chapter 7: roadmap 7.1 Super stabilization 7.2 Self-Stabilizing Fault-Containing Algorithms 7.3 Error-Detection Codes.
Chapter 2 - Definitions, Techniques and Paradigms2-1 Chapter 2 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of May 2003, Shlomi.
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
CPSC 668Set 14: Simulations1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
1 Complexity of Network Synchronization Raeda Naamnieh.
Chapter 8 - Self-Stabilizing Computing1 Chapter 8 – Self-Stabilizing Computing Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of January 2004 Shlomi.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Distributed Algorithms Simulator By Har-Tal Oded Supervised by Dr Shlomi Dolev Project’s goal: Designing and implementing a simulator for distributed algorithms,
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Chapter 4 - Self-Stabilizing Algorithms for Model Conservation4-1 Chapter 4: roadmap 4.1 Token Passing: Converting a Central Daemon to read/write 4.2 Data-Link.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
LSRP: Local Stabilization in Shortest Path Routing Hongwei Zhang and Anish Arora Presented by Aviv Zohar.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
LSRP: Local Stabilization in Shortest Path Routing Anish Arora Hongwei Zhang.
Chapter 4 - Self-Stabilizing Algorithms for Model Conversions iddistance 22 iddistance iddistance iddistance.
CS294, YelickSelf Stabilizing, p1 CS Self-Stabilizing Systems
Distributed Token Circulation in Mobile Ad Hoc Networks Navneet Malpani, Intel Corp. Nitin Vaidya, Univ. Illinois Urbana-Champaign Jennifer Welch, Texas.
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Adaptiveness vs. obliviousness and randomization vs. determinism Dariusz Kowalski University of Connecticut & Warsaw University Andrzej Pelc University.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
Chapter 4 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of October 2003 Shlomi Dolev, All Rights Reserved ©
Distributed Combinatorial Optimization
Autonomous Virtual Mobile Nodes Shlomi Dolev Seth Gilbert Elad Schiller Alex Shvartsman Jennifer Welch.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
Chapter 3 - Motivating Self-Stabilization3-1 Chapter 3 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights Reserved.
Chapter 7 - Local Stabilization1 Chapter 7 – Local Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of January 2004 Shlomi Dolev, All.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
Message Passing Systems A Formal Model. The System Topology – network (connected undirected graph) Processors (nodes) Communication channels (edges) Algorithm.
New Protocols for Remote File Synchronization Based on Erasure Codes Utku Irmak Svilen Mihaylov Torsten Suel Polytechnic University.
Broadcast & Convergecast Downcast & Upcast
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Selected topics in distributed computing Shmuel Zaks
1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
Andreas Larsson, Philippas Tsigas SIROCCO Self-stabilizing (k,r)-Clustering in Clock Rate-limited Systems.
Distributed Location-aware Transmission for Ad-Hoc Networks Bey-Ling Su 1/29/2004.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
De-Nian Young Ming-Syan Chen IEEE Transactions on Mobile Computing Slide content thanks in part to Yu-Hsun Chen, University of Taiwan.
1 Self-stabilizing Algorithms and Frequency Assignment Problems.
04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks  Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to.
Energy-Efficient Shortest Path Self-Stabilizing Multicast Protocol for Mobile Ad Hoc Networks Ganesh Sridharan
6.852: Distributed Algorithms Spring, 2008 Class 25-1.
Comparison of Tarry’s Algorithm and Awerbuch’s Algorithm Mike Yuan CS 6/73201 Advanced Operating Systems Fall 2007 Dr. Nesterenko.
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
CS 542: Topics in Distributed Systems Self-Stabilization.
Efficient Resource Allocation for Wireless Multicast De-Nian Yang, Member, IEEE Ming-Syan Chen, Fellow, IEEE IEEE Transactions on Mobile Computing, April.
Self-stabilizing energy-efficient multicast for MANETs.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
2/14/2016  A. Orda, A. Segall, 1 Queueing Networks M nodes external arrival rate (Poisson) service rate in each node (exponential) upon service completion.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
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.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
ITEC452 Distributed Computing Lecture 15 Self-stabilization Hwajung Lee.
Snap-Stabilizing Depth-First Search on Arbitrary Networks Alain Cournier, Stéphane Devismes, Franck Petit, and Vincent Villain OPODIS 2004, December
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Formal verification of distance vector routing protocols.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
CS60002: Distributed Systems
Introduction Wireless Ad-Hoc Network
Compact routing schemes with improved stretch
Presentation transcript:

Self Stabilization Classical Results and Beyond… Elad Schiller CTI (Grece)

Self-Stabilization Shlomi Dolev MIT Press, 2000

Talk Outline Definitions of Computational Model Self-Stabilization Requirements Complexity Measures Example: Spanning-Tree Construction Example: Self-Stabilising Group Communication in Mobile Ad-Hoc Networks The mobile ad hoc settings and random walk Estimating the number of nodes Services implementation Conclutions

The Distributed System Model Denote : ¦ P i - the i th processor ¦ neighbor of P i ― a processor that can communicate with it PiPi PjPj Link P i P j = P i can communicate with P j Node i = Processor i A Distributed System is modeled by processors ― set of n state machines communicate with each other

Asynchronous Distributed Systems – Shared Memory ¦ Processors communicate l by the use of shared communication registers ¦ The configuration will be denoted by c = (s 1,s 2,…,s n,r 1,2,r 1,3,…r i,j,…r n,n-1 ) where s i = State of P i r i,j = Content of communication register i P1P1 P2P2 r 12

The distributed System – A Computation Step P1P1 P2P2 r 12 : m 1 P 1 writes P1P1 P2P2 r 12 : m 1 P 2 reads m1m1 P1P1 P2P2 m1m1 r 12 : x

The Interleaving model ¦ At each given time l only 1 processor executes a computation step ¦ Every state transition of a processor l is due to a communication-step execution ¦ A step will be denoted by a ¦ c 1 a  c 2 denotes the fact that l c 2 can be reached from c 1 by a single step a

¦ Step a is applicable to configuration c l iff  c’ : c a  c’ ¦ An execution E = (c 1,a 1,c 2,a 2,…) l an alternating sequence such that c i-1 a  c i (i>1) ¦ A fair execution l every step that is applicable infinitely often is executed infinitely often The distributed System – more definitions

¦ A desired legal behavior is a set of executions l denoted LE A self-stabilizing system can be started in any arbitrary configuration and will eventually exhibit a desired “legal” behavior Legal Behavior c 2 safe c 1 safe c k safe c cici c’ c ’’ cmcm clcl step c t safe c ’ safe c ’’ safe step legal execution

Time complexity ¦ Asynchronous round (round) in an execution E l 1 st round is the shortest prefix E’ of E such that each processor executes at least 1 step in E’, E=E’E’’. ¦ The number of rounds = time complexity

Time complexity (Cont.) ¦ A Self-Stabilizing algorithm is usually a do forever loop ¦ Asynchronous cycle (cycle) in an execution E ¦ 1 st cycle is the shortest prefix E’ of E l such that each processor executes at least 1 complete iteration of it’s do forever loop in E’, E=E’E’’. ¦ Note : each cycle spans O(  ) rounds l O(  ) is the number of steps required to execute 1 iteration where  is an upper bound on the number of neighbors of P i

Definitions of Computational Model Self-Stabilization Requirements Complexity Measures Example: Spanning-Tree Construction Example: Self-Stabilising Group Comm. in Mobile Ad-Hoc Net. The mobile ad hoc settings and random walk Estimating the number of nodes Services implementation Conclutions Talk Outline

Spanning-Tree Construction ¦ The root writes 0 to all it’s neighbors ¦ The rest – each processor l chooses the minimal distance of it’s neighbors, l adds 1 and updates it’s neighbors

Spanning-Tree, System and code ¦ The output tree is encoded by means of the registers r 21 : parent = 1 dis = 1 r 58 : parent = 8 dis = 3 r 73 : parent = 2 dis = 3

Spanning-Tree Algorithm for P i Root: do forever for m := 1 to  do write r im :=  0,0  Other: do forever for m := 1 to  do write lr mi := read(r mi ) FirstFound := false dist := 1 + min  lr mi.dis  1  m    for m := 1 to  do if not FirstFound and lr mi.dis = dist -1 write r im :=  1,dist  FirstFound := true else write r im :=  0,dist   = # of processor’s neighbors i= the writing processor m= for whom the data is written lr ji (local register ji) the last value of r ji read by P i

Spanning-Tree Application RUN

Spanning-Tree, is Self-Stabilizing ¦ The legal task ST – l every configuration encodes a BFS tree of the communication graph ¦ Definitions : A floating distance is a value in r ij.dis smaller than the distance of P i from the root l The smallest floating distance in configuration c is the smallest value among the floating distance

Spanning-Tree, is Self-Stabilizing ¦ ( Lemma 1) For every k > 0 and for every configuration that follows  + 4k  rounds, it holds that: ¦ If there exists a floating distance, then l the value of the smallest floating distance is at least k l The value in the registers of every processor that is within distance k from the root is equal to its distance from the root

Spanning-Tree, is Self-Stabilizing ¦ Note l once a value in the register of every processor is equal to it’s distance from the root, l a processor Pi chooses its parent to be the parent in the first BFS tree. l this implies that : ¦ The algorithm presented is l Self-Stabilizing for ST

Talk Outline Definitions of Computational Model Self-Stabilization Requirements Complexity Measures Example: Spanning-Tree Construction Example: Self-Stabilising Group Communication in Mobile Ad-Hoc Networks The mobile ad hoc settings and random walk Estimating the number of nodes Services implementation Conclutions

Random walk for self-stabilising group communication in ad-hoc networks With: Shlomi Dolev BGU & Jennifer Welch TAMU IEEE Transactions on Mobile Computing, SRDS’02 and PODC’02

Mobile Ad Hoc Networks ¦ Wireless networking, mobile computing l No pre-existing infrastructure l Solely rely on wireless links l Computers re-location, connect, disconnect ¦ Unlikely not to have transmission faults ¦ Unlikely not to have transient faults l Violate the assumption made by the system designer

Coping with Chaos by Chaos ¦ Flooding? ¦ Distributed structure ( DAG in TORA )? ¦ Forcing nodes to move faster than others, according to a specific pattern? ¦ Random walk of a single agent !

¦ We handle topology changes automatically ¦ Estimating the number of participating nodes ¦ User benefit l Don’t cope with lower level complications Contributions

Random Walk of an Agent ¦ Ensures that if an agent exists l it covers the system with high probability ¦ Time-outs are used l to guarantee the existence of at least one agent ¦ If several agents exist l random walk ensures collisions ¦ Self-stabilizes to work correctly

Fixed communication graph ¦ Frequency of changes w.r.t. l Communication radius l Speed of nodes / an agent l Cover time ¦ The meeting/cover time of a fixed graph O(n 3 )

Complete Random Change ¦ Graph can totally change between agent moves ¦ The choice of movement can be view as: l A choice of the current neighbors l Then a choice from the neighbors set ¦ Like a random walk on a complete graph ¦ Cover time for a complete graph is O(n lg n)

Estimating n (simplified ver.) ¦ Problem – the complexity is O( N 3 lg N ) l Replacement of N by n is wanted ! ¦ The agent list the nodes it visits l Order by most recently visited ¦ Remove nodes that are not visited l O(t 3 lg t) agent moves t is the order in the list ¦ Output the size of the list as n ID Mov gap

Membership Service ¦ Establish a view l Whenever a node joins/leaves the group ¦ A node may voluntarily join/leave the system ¦ A node is removed from the members list l If not visited for a large number of agent moves

Multicast Service ¦ The agent carries message history ¦ Deliver messages by their sending order ¦ Add a best effort "victory" traversal l Safe delivery indication l View agreement

Conclusion ¦ Our new approach copes with l Uncertainty nature of ad-hoc networks ¦ Probabilistic group communication l Membership, and multicast l Requirements meet with high probability l Performance tuning by varying the probability