Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mutual Exclusion Presented by: Rohan Sen (Distributed Algorithms Ch. 10)

Similar presentations


Presentation on theme: "Mutual Exclusion Presented by: Rohan Sen (Distributed Algorithms Ch. 10)"— Presentation transcript:

1 Mutual Exclusion Presented by: Rohan Sen (Distributed Algorithms Ch. 10)

2 Topics that will be covered Overview and problem statement Dijkstra’s Mutual Exclusion Algorithm Stronger Conditions for Mutual Exclusion Algorithms Lockout-free Mutual Exclusion Algorithms Single-Writer Shared Register Algorithms The Bakery Algorithm Conclusion

3 Overview The shared memory model  Every process is a kind of state machine Set of states Three kinds of actions: input, output, internal  All communication via the shared memory  Exists a transition relation for all states System is input-enabled Not output and internal enabled  Locality restrictions  Restrictions on shared variable operations

4 The problem Allocation of single, indivisible, non-shareable resource among n users Steps by a user  Trying protocol  Critical region  Exit protocol  Remainder (non-critical region) U try crit exit rem External interface of a user

5 The problem (contd.) A shared memory system solves the mutual exclusion problem when the following conditions are satisfied:  Well-formedness  Mutual exclusion  Progress

6 Dijkstra’s Mutual Exclusion Alg. Concept  Use a two stage flag to indicate what stage of processing a user is in  Ensure mutual exclusion by ensuring that only one flag at a time has a value to let it into the critical region

7 Dijkstra’s Mutual Exclusion Alg. turn rd / wr by all processes, intially arbitrary flag(i) rd by all / wr by I, initially 0 Shared Variables

8 Dijkstra’s Mutual Exclusion Alg.

9 Guarantees well-formedness  Per inspection of the code Satisfies mutual exclusion  By status of flag Guarantees progress  More complex proof

10 Stronger Conditions Fairness  No lockouts or starvations  Kinds of fairness Low level fairness High level fairness

11 Stronger Conditions (contd.) Lockout freedom  Any user that reaches T eventually enters C  Any user that reaches E eventually enters R Time bound  If each user returns resource within time c and each step is at most l, then you enter C at most b = f(l,c) after entering T  Similarly, you enter R at most b = f(l,c) after entering E. Number of bypasses

12 PetersonNP Algorithm Concept  There are k levels At each level eliminate one user n – k processes can win at level k Only one process can win at level n – 1, yielding mutual exclusion

13 PetersonNP Algorithm turn(k) rd / wr by all, initially arbitrary flag(i) rd by all j ≠ i / wr by I, initially 0 Shared variables

14 PetersonNP Algorithm

15 Is well formed Satisfies mutual exclusion Guarantees progress Lockout free

16 Alg. Using Single Writer Shared Registers (BurnsME Algorithm) Concept  Check if anyone else is trying to get a lock  Lay claim on the lock  Check again  Proceed

17 BurnsME Algorithm Shared variables  flag(i) wr by i / rd by all j ≠ I, initially 0

18 BurnsME Algorithm

19 Is well formed Guarantees mutual exclusion Guarantees progress

20 Bakery Algorithm Concept  FIFO after a wait-free doorway  Doorway is: Everyone picks a number Waits for everyone to finish  Break ties and enter critical zone

21 Bakery Algorithm Shared variables choosng(i) wr by i / rd by all j ≠ I, initially 0 number(i) wr by i / rd by all j ≠ I, initially 0

22 Bakery Algorithm

23 Is well formed Satisfies mutual exclusion Guarantees progress Guarantees lockout freedom

24 Lower bound on # registers Cannot solve mutual exclusion with <n shared variables  Single writer shared variables  Multi writer shared variables

25 Conclusion Mutual exclusion: One at a time access to a shared resource Mutual exclusion w/o fairness Mutual exclusion w/ fairness Minimizing the number of registers

26 Questions?


Download ppt "Mutual Exclusion Presented by: Rohan Sen (Distributed Algorithms Ch. 10)"

Similar presentations


Ads by Google