Coordination and Agreement Flashcards
Why are most failure detectors unreliable?
- Return suspected /unsuspected given the identity of a process
- The response from a local failure detector is only as good as the information available at that process
Why is distributed mutual exclusion required
Mutual exclusion is required to prevent interference and ensure consistency when accessing shared resources
How does distributed mutual exclusion differ from the
critical section problem in the OS domain?
Neither shared variables nor single-kernel facilities are available.
Distributed mutual exclusion is solely based on message passing.
State the problem of using a server for distributed mutual exclusion.
susceptible to single point of failure
What is the essential requirement ME1 for mutual exclusion?
ME1: (safety)
At most one process may execute in the critical section (CS) at a time
What is the essential requirement ME2 for mutual exclusion?
ME2: (liveness)
Requests to enter and exit the critical section eventually succeed
What is the essential requirement ME3 for mutual exclusion?
ME3: (→ ordering)
If one request to enter the CS happened-before another, then entry to the CS is granted in that order
What is the implication of ME2?
ME2 implies freedom from both deadlock and starvation. Absence of starvation is one fairness condition
As a stronger fairness condition why does ME3 require logical clocks?
If all requests related by happened-before, then it is not possible for a process to enter the CS more than once while another process waits to enter