Snap-stabilizing Committee Coordination

34
Snap-stabilizing Committee Coordination Borzoo Bonakdarpour Stephane Devismes Franck Petit IEEE International Parallel and Distributed Processing Symposium (IPDPS’11) May17, 2011

description

Snap-stabilizing Committee Coordination. Borzoo Bonakdarpour Stephane Devismes Franck Petit. May17, 2011. IEEE International Parallel and Distributed Processing Symposium (IPDPS’11). Motivation. Generation distributed code from high-level component-based models. - PowerPoint PPT Presentation

Transcript of Snap-stabilizing Committee Coordination

Page 1: Snap-stabilizing Committee Coordination

Snap-stabilizing Committee Coordination

Borzoo BonakdarpourStephane DevismesFranck Petit

IEEE International Parallel and Distributed Processing Symposium (IPDPS’11)

May17, 2011

Page 2: Snap-stabilizing Committee Coordination

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

Page 3: Snap-stabilizing Committee Coordination

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

Page 4: Snap-stabilizing Committee Coordination

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?

Page 5: Snap-stabilizing Committee Coordination

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)

Page 6: Snap-stabilizing Committee Coordination

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)

Page 7: Snap-stabilizing Committee Coordination

7

Distributed Committee Coordination

May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)

C1 C3C2

Page 8: Snap-stabilizing Committee Coordination

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)

Page 9: Snap-stabilizing Committee Coordination

9

Implementing Committee Coordination

May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)

Page 10: Snap-stabilizing Committee Coordination

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

Page 11: Snap-stabilizing Committee Coordination

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)

Page 12: Snap-stabilizing Committee Coordination

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

Page 13: Snap-stabilizing Committee Coordination

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.

Page 14: Snap-stabilizing Committee Coordination

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

Page 15: Snap-stabilizing Committee Coordination

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

Page 16: Snap-stabilizing Committee Coordination

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)

Page 17: Snap-stabilizing Committee Coordination

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.

Page 18: Snap-stabilizing Committee Coordination

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

Page 19: Snap-stabilizing Committee Coordination

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

Page 20: Snap-stabilizing Committee Coordination

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

Page 21: Snap-stabilizing Committee Coordination

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

Page 22: Snap-stabilizing Committee Coordination

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

Page 23: Snap-stabilizing Committee Coordination

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

Page 24: Snap-stabilizing Committee Coordination

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

Page 25: Snap-stabilizing Committee Coordination

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)

Page 26: Snap-stabilizing Committee Coordination

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

Page 27: Snap-stabilizing Committee Coordination

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)

Page 28: Snap-stabilizing Committee Coordination

THANK YOU !

Page 29: Snap-stabilizing Committee Coordination

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?

Page 30: Snap-stabilizing Committee Coordination

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?

Page 31: Snap-stabilizing Committee Coordination

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?

Page 32: Snap-stabilizing Committee Coordination

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?

Page 33: Snap-stabilizing Committee Coordination

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!

Page 34: Snap-stabilizing Committee Coordination

35

Maximal Concurrency .vs Fairness?

May 17, 2011 IEEE International Parallel and Distributed Processing Symposium (IPDPS'11)

TOKEN CIRCULATION

PROGRE

SS

Snap-stabilization 2-Phase CC with

Maximal Concurrency

FAIRNESS

Snap-stabilization 2-Phase CC with

Fairness