Snap-stabilizing Committee Coordination Borzoo Bonakdarpour Stephane Devismes Franck Petit IEEE...
-
Upload
augustus-christin -
Category
Documents
-
view
213 -
download
1
Transcript of Snap-stabilizing Committee Coordination Borzoo Bonakdarpour Stephane Devismes Franck Petit IEEE...
Snap-stabilizing Committee Coordination
Borzoo BonakdarpourStephane DevismesFranck Petit
IEEE International Parallel and Distributed Processing Symposium (IPDPS’11)
May17, 2011
2
Motivation
• Generation distributed code from high-level component-
based models.
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
Behavioral atomic
components
Synchronizing with a set of rendezvous interactions
3
Simple Rendezvous
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
s
Sender
r1
Receiver1
Interactions: sr1r2r3
Priorities:
s r1
r2
Receiver2
r2
r3
Receiver3
r3
r2Most process algebras have similar syntax and semantics
4
Motivation
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
How do we generate distributed code by starting from such high-level models?
5
Motivation
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C4C2 C3 C6C5 C7
I1 I2 I3
Conflict resolution(exclusion)
6
Committee Coordination Problem
Professors in a certain university have organized themselves into committees. Each committee has an unchanging membership roster of one or more professors. From time to time a professor may decide to attend a committee meeting; it starts waiting and remains waiting until a meeting of a committee of which it is a member is started. All meetings terminate in finite time. The restrictions on convening a meeting are as follows:
1. (synchronization) meeting of a committee may be started only if all members of that committee are waiting, and
2. (exclusion) no two committees may convene simultaneously, if they have a common member.
The problem is to ensure that if all members of a committee are waiting, then a meeting involving some member of this committee is convened
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
7
Distributed Committee Coordination
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
8
Committee Coordination Problem
1988• Chandy and Misra propose a solution by reduction to dining/drinking
philosophers problem
1989• Bagrodia introduces a solution based on message counts to ensure
synchronization and reduction to dining/drinking philosophers problems to solve exclusion
• Bagrodia presents simulation results to analyze the tradeoff between decentralization and communication overhead
1990• The line of research dies!
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
9
Implementing Committee Coordination
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
10
Why another Committee Coordination Algorithm?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
[1] B. Bonakdarpour, M. Bozga, M. Jaber, J. Quilbeuf, J. Sifakis, From high-level component-based models to distributed implementations, EMSOFT’10
11
Current Open Questions
• Number of components that can run simultaneously• Maximal/maximum concurrency
• Each component/interaction eventually gets an execution chance• Fairness
• Starting from an arbitrary configuration the systems reaches a legitimate configuration• Self-stabilization
• The amount of time that some component must wait for execution• Waiting time
• The number of rounds a component must wait• Service time
• The effect of time spent in an interaction• Utilization
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
13
Maximal Concurrency
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
The meetings lasts
indefinitely
An idle meeting
eventually convenes
14
Professor Fairness
Every professor wants to participate in a committee meeting infinitely often.
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
Every professor eventually participates in a committee meeting that it is a member of.
Assumption
Fairness
Otherwise, distributed committee
coordination is impossible [2]
[2] Y.-K. Tsay and R. Bagrodia. Some impossibility results in interprocesssynchronization. Distributed Computing, 6(4):221–231, 1993.
15
Impossibility of Fairness and Maximal Concurrency
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
MaximalConcurrency
MaximalConcurrency
We design an algorithm for each property
16
2-Phase Discussion Time
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C2
Phase1Essential discussion
(all professors have to participate)
Phase2Voluntary discussion
The meeting continues for a finite time
17
Snap-stabilization
• A snap-stabilizing protocol guarantees that, starting from an arbitrary system configuration, the protocol always behaves according to its specification.
• Thus, a snap-stabilizing protocol is a time optimal self-stabilizing protocol (because it stabilizes in 0 rounds).
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
18
Snap-stabilizing Committee Coordination
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
• A snap-stabilizing committee coordination protocol guarantees that, every meeting convened after the last transient faults satisfy every requirement of the committee coordination.
Note that a snap-stabilizing committee coordination protocol provides no guarantee for the meetings started during the transient faults, except that they do not interfere with the execution of the other meetings.
19
Snap-stabilization 2-Phase CC
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
CommitteeCoordination
Self-stabilizing Circulating
Token||
Our algorithm is parallel composition of two modules
20
Snap-stabilizing 2-Phase CC
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
Step1 Looking for a committee to participate
L
L
L
L
L
L
L
21
Snap-stabilizing 2-Phase CC
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
Step2 Choosing a committee, where all other members are also looking
L
L
L
L
L
L
L
22
Snap-stabilizing 2-Phase CC
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
Step3 Getting ready to participate in committee, where all members are looking or waiting
L
L
L
L
L
L
L
W
W
W
W
23
Snap-stabilizing 2-Phase CC
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
Step3 Committee meeting convenes, where all members are waiting.
L
L
L
W
W
W
W
L
L
W
W
W
W
24
Snap-stabilizing 2-Phase CC with Maximal Concurrency
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1 C3C2
Step4 After essential discussion, professors may leave the meeting. A token holder releases the token.
L
W
W
W
W
W
W
W
W
D
DD
D
25
Maximal Snap-stabilization 2-Phase CC with Maximal Concurrency
¬LegitimateStates(p) (∧ State = idle)
Pointer := null;
¬LegitimateStates (p) ^ (State = idle)
State := looking, Pointer := null;
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
Stabilizing Actions
26
Snap-stabilization 2-Phase CC with Fairness• The algorithm is similar to the previous algorithm, except
that we use the token circulation to ensure fairness.
• Let A be a committee coordination algorithm that satisfies Professor Fairness. Let professors remain in the meeting for infinite time. Under such assumption the system reaches a quiescent state where the status of all professors do not change any more. The Degree of Fair Concurrency of A is then the minimum number of meetings held in a quiescent state.
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
27
Snap-stabilization 2-Phase CC with Fairness
The degree of fair concurrency for a committee coordination algorithm that satisfies professor fairness is the size of minimum maximal matching of the system.
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
Theorem
28
Conclusion
• Summary– We considered the distributed committee coordination problem– We showed that satisfying fairness and maximal concurrency is
impossible even if professors desire to participate in meetings infinitely often in a non-stabilizing setting.
– We proposed a snap-stabilizing algorithms for each conflicting property.
• Future work– Committee coordination with priorities– Committee coordination in dynamic networks
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
THANK YOU !
30
Maximal Concurrency .vs Fairness?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1
C2
L
1
2
3
L C3
C4
C5
4
5
6
7
Choosing the maximum ID?
31
Maximal Concurrency .vs Fairness?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1
C2
L
1
2
3
L C3
C4
C5
4
5
6
7
Choosing the maximum ID?
32
Maximal Concurrency .vs Fairness?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1
C2
L
1
2
3
L C3
C4
C5
4
5
6
7
Choosing the maximum ID?
33
Maximal Concurrency .vs Fairness?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1
C2
L
1
2
3
L C3
C4
C5
4
5
6
7
Choosing the maximum ID?
34
Maximal Concurrency .vs Fairness?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
C1
C2
L
1
2
3
L C3
C4
C5
4
5
6
7
Choosing the maximum ID?
No progress!
35
Maximal Concurrency .vs Fairness?
May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)
TOKEN CIRCULATION
PRO
GR
ESS
Snap-stabilization 2-Phase CC with
Maximal Concurrency
FAIR
NESS
Snap-stabilization 2-Phase CC with
Fairness