Mutual Exclusion A History
Agenda Model Registers History
Model Shared Memory Registers Try, Critical, Exit, Non-Critical
Registers Assuming atomic registers is not satisfactory. Register Heirarchy Safe Regular Atomic
Waiting Requirements Mutual Exclusion DeadLock Freedom Lockout Freedom First-Come-First-Serve R-bounded Waiting
Fault Tolerance Requirements Shutdown safe Abortion safe Unannounced death Malfunctioning (Byzantine behavior) Fail safe Self Stabilizing
Upper Bounds 1 bit 3 bit N bit N! bit
Fast Path Algorithms Lamport’s Fast Mutual Exclusion 7 memory accesses with no contention “Splitter” method Take quick route if possible
Local Spin Algorithms Busy waiting looking at local variables only Remote variables more costly Time complexity based on remote accesses
Adaptive Algorithms Time complexity is a function of # of contenders Pinnacle of our project Local Spinning Adaptive Algorithms