Chandy - Lamport Flashcards

1
Q

What is the purpose of Chandy and Lamport’s algorithm?

A

Snapshot’ algorithm for determining global states of a distribued system:

Records a set of process and channel states (a snapshot) such that the recorded global state of each snapshot is consistent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the essential idea of the algorithm?

A

Each process records (a) its state and (b) for each incoming channel a set of messages sent to it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

If pi has sent message m to pj before recording its state, but pj has not received it, what does m account to?

A

we account for m as belonging to the state of the channel between them

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does the algorithm start?

A

Algorithm kicks-off by a process acting as though it has received a marker
over a non-existent channel (invoke marker receiving rule)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Name the two algorithm rules.

A

receiving and sending

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

State the receiving part of the algorithm

A

Marker receiving rule for process pi

  1. On pi’s receipt of a marker message over channel c:
    1. 1 if (pi has not yet recorded its state) it :
  2. 1.1 records its process state;
  3. 1.2 records the state of c as the empty set;
  4. 1.3 turns on recording of messages arriving over other incoming channels;
  5. 2 else
  6. 2.1 pi records the state of c as the set of messages it has received over c since it saved its state.
  7. 3 end if
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

State the sending part of the algorithm

A

After pi has recorded its state, for each outgoing channel c:

pi sends one marker message over c
(before it sends any other message over c).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What assertions does the Snapshot algorithm allow?

A

Snapshot algorithm captures consistent global state and allows assertions about whether stable predicates hold in the actual execution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly