1. Recovering scalable spin locks
- Author
-
A. Silbershatz, Philip Bohannon, and D. Lieuwen
- Subjects
Concurrency control ,Record locking ,Correctness ,Shared memory ,Computer science ,Distributed computing ,Readers–writer lock ,Scalability ,Mutual exclusion ,Data structure ,Lock (computer science) - Abstract
We present a mechanism for making a scalable spin lock protocol, the MCS lock recoverable, thereby ensuring that a lock never becomes permanently unavailable, even if one or more processes using the lock die. This is achieved by modifying the original protocol to write additional information to shared memory and introducing a cleanup process which returns locks to a usable state in case of process death(s). Our method does not require kernel or hardware support other than the swap instruction, and maintains performance comparable to the original protocol (one third as fast in the uncontested case). We have proven the correctness of our scheme in the face of the weak memory models provided by modern systems.
- Published
- 2002