Title: Self Stabilization Classical Results and Beyond
1Self Stabilization Classical Results
and Beyond
- Elad Schiller
- CTI (Grece)
2Self-StabilizationShlomi DolevMIT Press , 2000
3Talk 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
4The Distributed System Model
- A Distributed System is modeled by processors ?
- set of n state machines communicate with each
other
- Denote
- Pi - the ith processor
- neighbor of Pi ?
- a processor that can communicate with it
Node i Processor i
Link Pilt-gtPj Pi can communicate with Pj
5Asynchronous Distributed Systems Shared Memory
- Processors communicate
- by the use of shared communication registers
- The configuration will be denoted by c
(s1,s2,,sn,r1,2,r1,3,ri,j,rn,n-1) where si
State of Pi ri,j Content of communication
register i
6The distributed System A Computation Step
7The Interleaving model
- At each given time
- only 1 processor executes a computation step
- Every state transition of a processor
- is due to a communication-step execution
- A step will be denoted by a
- c1 a? c2 denotes the fact that
- c2 can be reached from c1 by a single step a
8The distributed System more definitions
- Step a is applicable to configuration c
- iff ? c c a? c
- An execution E (c1,a1,c2,a2,)
- an alternating sequence such that ci-1 a ? ci
(igt1) - A fair execution
- every step that is applicable infinitely often is
executed infinitely often
9Legal Behavior
- A desired legal behavior is a set of executions
- denoted LE
c
A self-stabilizing system can be started in any
arbitrary configuration and will eventually
exhibit a desired legal behavior
10Time complexity
- Asynchronous round (round) in an execution E
- 1st round is the shortest prefix E of E
- such that each processor executes at least 1 step
in E, EEE. - The number of rounds time complexity
11Time complexity (Cont.)
- A Self-Stabilizing algorithm is usually a do
forever loop - Asynchronous cycle (cycle) in an execution E
- 1st cycle is the shortest prefix E of E
- such that each processor executes at least 1
complete iteration of its do forever loop in E,
EEE. - Note each cycle spans O(?) rounds
- O(?) is the number of steps required to execute 1
iteration - where ? is an upper bound on the number of
neighbors of Pi
12Talk Outline
- 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
13Spanning-Tree Construction
- The root writes 0 to all its neighbors
- The rest each processor
- chooses the minimal distance of its neighbors,
- adds 1 and updates its neighbors
14Spanning-Tree, System and code
- The output tree is encoded by means of the
registers
15Spanning-Tree Algorithm for Pi
Root do forever for m 1 to ? do
write rim ?0,0? Other do forever for m
1 to ? do write lrmi read(rmi) FirstFound
false dist 1 min?lrmi.dis ?1 ? m ? ? ? for
m 1 to ? do if not FirstFound and lrmi.dis
dist -1 write rim ?1,dist? FirstFound
true else write rim ?0,dist?
- of processors neighbors
- i the writing processorm for whom the data is
written
lrji (local register ji) the last value of rji
read by Pi
16Spanning-Tree Application
RUN
17Spanning-Tree, is Self-Stabilizing
- The legal task ST
- every configuration encodes a BFS tree
- of the communication graph
- Definitions
- A floating distance is a value in rij.dis
- smaller than the distance of Pi from the root
- The smallest floating distance in configuration c
- is the smallest value among the floating distance
18Spanning-Tree, is Self-Stabilizing
- (Lemma 1) For every k gt 0 and for every
configuration that follows ? 4k? rounds, it
holds that - If there exists a floating distance, then
- the value of the smallest floating distance is at
least k - The value in the registers of every processor
that is within distance k from the root is equal
to its distance from the root
19Spanning-Tree, is Self-Stabilizing
- Note
- once a value in the register of every processor
is equal to its distance from the root, - a processor Pi chooses its parent to be the
parent in the first BFS tree. - this implies that
- The algorithm presented is
- Self-Stabilizing for ST
20Talk 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
21Random walk for self-stabilising group
communication in ad-hoc networks
- With Shlomi Dolev BGU Jennifer Welch TAMU
- IEEE Transactions on Mobile Computing,
- SRDS02 and PODC02
22Mobile Ad Hoc Networks
- Wireless networking, mobile computing
- No pre-existing infrastructure
- Solely rely on wireless links
- Computers re-location, connect, disconnect
- Unlikely not to have transmission faults
- Unlikely not to have transient faults
- Violate the assumption made by the system designer
23Coping 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!
24Contributions
- We handle topology changes automatically
- Estimating the number of participating nodes
- User benefit
- Dont cope with lower level complications
25Random Walk of an Agent
- Ensures that if an agent exists
- it covers the system with high probability
- Time-outs are used
- to guarantee the existence of at least one agent
- If several agents exist
- random walk ensures collisions
- Self-stabilizes to work correctly
26Fixed communication graph
- Frequency of changes w.r.t.
- Communication radius
- Speed of nodes / an agent
- Cover time
- The meeting/cover time of a fixed graph
- O(n3)
27Complete Random Change
- Graph can totally change between agent moves
- The choice of movement can be view as
- A choice of the current neighbors
- 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)
28Estimating n (simplified ver.)
- Problem the complexity is O(N3 lg N)
- Replacement of N by n is wanted!
- The agent list the nodes it visits
- Order by most recently visited
- Remove nodes that are not visited
- O(t3 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
29Membership Service
- Establish a view
- Whenever a node joins/leaves the group
- A node may voluntarily join/leave the system
- A node is removed from the members list
- If not visited for a large number of agent moves
30Multicast Service
- The agent carries message history
- Deliver messages by their sending order
- Add a best effort "victory" traversal
- Safe delivery indication
- View agreement
31Conclusion
- Our new approach copes with
- Uncertainty nature of ad-hoc networks
- Probabilistic group communication
- Membership, and multicast
- Requirements meet with high probability
- Performance tuning by varying the probability