Download presentation
Presentation is loading. Please wait.
1
Self Stabilization Classical Results and Beyond… Elad Schiller CTI (Grece)
2
Self-Stabilization Shlomi Dolev MIT Press, 2000
3
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
4
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
5
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
6
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
7
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
8
¦ 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
9
¦ 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
10
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
11
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
12
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
13
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 0 1 3 2 1 1 2 2
14
Spanning-Tree, System and code ¦ The output tree is encoded by means of the registers 1 4 5 8 6 2 3 7 r 21 : parent = 1 dis = 1 r 58 : parent = 8 dis = 3 r 73 : parent = 2 dis = 3
15
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
16
Spanning-Tree Application RUN
17
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
18
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
19
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
20
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
21
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
22
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
23
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 !
24
¦ We handle topology changes automatically ¦ Estimating the number of participating nodes ¦ User benefit l Don’t cope with lower level complications Contributions
25
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
26
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 )
27
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)
28
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 585 0 471 1 354 2 784 5 958 87 473 91 gap
29
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
30
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
31
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.