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?

A

No

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
Q

Is there an algorithm that can guarantee consensus in an asynchronous system?

A

Nope, because a crashed process is indistinguishable from a slow one

26
Q

What can you do to make consensus possible in an asynchronous system?

A

Mask any process failures that occur; failure detectors; randomization