kirancodes.me
To Proof Maintenance & Beyond!

Scalable queue-based spin locks with timeout

Michael L. Scott, William N. Scherer III

Abstract

Queue-based spin locks allow programs with busy-wait synchronization to scale to very large multiprocessors, without fear of starvation or performance-destroying contention. So-called try locks, traditionally based on non-scalable test-and-set locks, allow a process to abandon its attempt to acquire a lock after a given amount of time. The process can then pursue an alternative code path, or yield the processor to some other process.

Related papers