Efficient synchronization of multiprocessors with shared memory
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Two algorithms for mutual exclusion in real-time distributed computer systems
Journal of Parallel and Distributed Computing
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Concurrent programming: principles and practice
Concurrent programming: principles and practice
M68000 family programmer's reference manual
M68000 family programmer's reference manual
Locking without blocking: making lock based concurrent data structure algorithms nonblocking
PODS '92 Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
A bistability throughput phenomenon in a shared-memory MIMD machine
The Journal of Supercomputing
A comparison of fast and low overhead distributed priority locks
Journal of Parallel and Distributed Computing
Hard Real-Time Systems
Priority Inheritance Protocols: An Approach to Real-Time Synchronization
IEEE Transactions on Computers
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
Real-time scalability of nested spin locks
RTCSA '95 Proceedings of the 2nd International Workshop on Real-Time Computing Systems and Applications
f-arrays: implementation and applications
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Shared-memory mutual exclusion: major research trends since 1986
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Smartlocks: lock acquisition scheduling for self-aware synchronization
Proceedings of the 7th international conference on Autonomic computing
Hi-index | 0.00 |
In this paper, we present the PR lock, a prioritized spin lock mutual exclusion algorithm. The PR lock is a contention-free spin lock, in which blocked processes spin on locally stored or cached variables. In contrast to previous work on prioritized spin locks, our algorithm maintains a pointer to the lock holder. As a result, our spin lock can support operations on the lock holder (e.g., for abort ceiling protocols). Unlike previous algorithms, all work to maintain a priority queue is done while a process acquires a lock when it is blocked anyway. Releasing a lock is a constant time operation. We present simulation results that demonstrate the prioritized acquisition of locks, and compare the performance of the PR lock against that of the best alternative prioritized spin lock.