
TL;DR
Reciprocating Locks is a new mutual exclusion algorithm for shared memory systems that offers constant-time operations, low contention latency, and strong anti-starvation guarantees, suitable for real-world applications.
Contribution
It introduces a lock with constant-time doorway and release phases, local spinning, and strong anti-starvation properties, optimized for practical use in systems like Linux kernel and pthreads.
Findings
High throughput under contention
Low latency in uncontended scenarios
Competitive performance with state-of-the-art spin locks
Abstract
We present "Reciprocating Locks", a novel mutual exclusion locking algorithm, targeting cache-coherent shared memory (CC), that enjoys a number of desirable properties. The doorway arrival phase and the release operation both run in constant-time. Waiting threads use local spinning and only a single waiting element is required per thread, regardless of the number of locks a thread might hold at a given time. While our lock does not provide strict FIFO admission, it bounds bypass and has strong anti-starvation properties. The lock is compact, space efficient, and has been intentionally designed to be readily usable in real-world general purpose computing environments such as the linux kernel, pthreads, or C++. We show the lock exhibits high throughput under contention and low latency in the uncontended case. The performance of Reciprocating Locks is competitive with and often better than…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Surface Polishing Techniques · Engineering and Materials Science Studies · Advanced machining processes and optimization
