MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Recoverable User-Level Mutual Exclusion (1995) [10 citations — 3 self]

Download:
Download as a PDF | Download as a PS
by Philip Bohannon, Daniel Lieuwen, Avi Silberschatz, S. Sudarshan, Jacques Gava
In Proc. 7th IEEE Symposium on Parallel and Distributed Processing
http://www.bell-labs.com/user/avi/publication-dir/RecoverableMutex.ps
Add To MetaCart

Abstract:

Mutual exclusion primitives based on user-level atomic instructions (often called spin locks) have proven to be much more efficient than operating-system semaphores in situations where the contention on the semaphore is low. However, many of these spin lock schemes do not permit registration of ownership to be carried out atomically with acquisition, potentially leaving the ownership undetermined if a process dies (or makes very slow progress) at a critical point in the registration code. We present an algorithm which can ensure the successful registration of ownership of a spin lock, regardless of where processes fail. Thus, our spin lock implementation is `recoverable'. The determination of a spin lock's ownership can potentially be used to restore resources protected by the spin lock to consistency and then release the spin lock. Other processes using the lock can then continue to function normally, improving fault resiliency for the application. Our algorithm provides very fast lock acquisition when the acquisition is uncontested (comparable in speed to a simple test-and-set based spin lock), and we prove it works even on the weak memory consistency models implemented by many modern multiprocessor computer systems.

Citations

622 Operating System Concepts – Silberschatz, Galvin - 1991
396 Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors – Mellor-Crummey, Scott - 1991
204 The performance of spin lock alternatives for shared-memory multiprocessors – Anderson - 1990
68 Fast Mutual Exclusion for Uniprocessors – Bershad, Redell, et al. - 1992
50 Realtime Scheduling in SunOS 5.0 – Khanna, Sebree, et al. - 1992
36 Dali: A high performance main memory storage manager – Jagadish, Lieuwen, et al. - 1994
24 Building FIFO and Priority-Queueing Spin Locks from Atomic Swap – Craig - 1993
19 Further Comments on Dijkstra's Concurrent Programming Control Problem – Eisenberg, McGuire - 1972
19 Using Write Protected Data Structures to Improve Software Fault Tolerance in Highly Available Database Management Systems – Sullivan, Stonebraker - 1991
14 Formal specification of memory models – Sindhu, Frailong, et al. - 1991
13 Synchronization algorithms for shared memory multiprocessors – Graunke, Thakkar - 1990
2 The Alpha Architecture Handbook – Corporation - 1992
1 Personal communication – Dilman, Lubachevsky - 1994