Coordination and Agreement Flashcards

1
Q

What is the idea behind network partition?

A

In any particular interval of time, communication between some processes may succeed while communication between others is delayed

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

What is a correct process?

A

A process that exhibits no failures at any point in the execution under consideration

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

What is a failure detector?

A

A service that processes queries about whether a particular process has failed

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

What do unreliable failure detectors do?

A

Produce one of two values of a process: unsuspected or suspected

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

What does the unsuspected value produced by an unreliable failure detector mean?

A

The detector has recently received evidence suggesting that the process has not failed

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

What does the suspected value produced by an unreliable failure detector mean?

A

The detector has some indication that the process may have failed

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

What is the difference between a reliable failure detector and an unreliable failure detector?

A

The reliable failure detector is always accurate in detecting a process’ failure. It only produces the unsuspected or failed values.

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

How is an unreliable failure detector implemented?

A

Each process sends an “I’m here” message to every other process every T seconds. Detector needs to receive message within T + D seconds or else it will report the process as suspected. D is a timeout value that reflect the observed network delay conditions.

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

How can an unreliable failure detector be made into a reliable one?

A

Choose D to be an absolute bound on message transmission times

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

What are the requirements for mutual exclusion?

A

Safety - one process is in critical section at a time; Liveness - requests to enter and exit the critical section eventually succeed; Ordering - First request for critical section should be the first granted entry to critical section

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

What is client delay (mutual exclusion)?

A

The time that a process incurred at each entry and exit operation

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

What is synchronization delay (mutual exclusion)?

A

The time between a processor leaving a critical section and before the next process enters critical section

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

What is the central server algorithm?

A

Server grants a unique token that allows the user to enter critical session. Request is queued if the token is being used.

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

What are the advantages of the central server algorithm?

A

3 messages per entry/exit

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

What are the disadvantages of the central server algorithm?

A

Central point of failure; central performance bottleneck; impossible to achieve in order fairness with an asynchronous network

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

What is Ricart and Agrawala’s algorithm?

A

When a process wants to enter critical section, it multicasts a request containing the process ID and Lamport timestamp to the other processes. The process can enter critical section once it receives N-1 replies. The process ID is used to break ties.

17
Q

Can a ring based algorithm tolerate a crash failure of any single process?

18
Q

When can the central server algorithm tolerate a crash?

A

When the process that fails is a client process that neither holds nor has requested the token

19
Q

What are the election requirements?

A

Safety - the variable elected is nil or the process elected; Liveness - All processes participate and eventually set elected to the same process or crash

20
Q

What is the bully algorithm?

A

The process with the highest id can elect itself by sending a coordinator message to the rest of the processes; a process with a lower id can begin an election by sending an election message to a higher id process and awaiting an answer. If process receives an election message, it sends answer message back and begins another election

21
Q

What are the characteristics of reliable multicast?

A

Integrity - A process p delivers a message m at most once; Validity - if correct process multicasts message m, then it will eventually deliver m; Agreement - If a correct process delivers message m, then all other correct processes in group will eventually deliver m

22
Q

What is the reliable multicast algorithm?

A

All correct processes receive all the multicast requests or none at all

23
Q

What are the characteristics of the consensus problem?

A

Termination - eventually each process sets its decision; Agreement - the decision value of all correct processes is the same; Integrity - if the correct processes all proposed the same value, then any correct process in the decided state has chosen that value

24
Q

What is the Byzantine generals problem?

A

Three or more generals are to agree to attack or retreat. Lieutenants must decide whether to attack or retreat.

25
Is there an algorithm that can guarantee consensus in an asynchronous system?
Nope, because a crashed process is indistinguishable from a slow one
26
What can you do to make consensus possible in an asynchronous system?
Mask any process failures that occur; failure detectors; randomization