A fast mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
Speeding Lamport's fast mutual exclusion algorithm
Information Processing Letters
The communication requirements of mutual exclusion
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
Wait-free algorithms for fast, long-lived renaming
Science of Computer Programming
Solution of a problem in concurrent programming control
Communications of the ACM
The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
Adaptive Mutual Exclusion with Local Spinning
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
Adaptive solutions to the mutual exclusion problem
Distributed Computing
Nonatomic mutual exclusion with local spinning
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
Adaptive mutual exclusion with local spinning
Distributed Computing
Read/Write based fast-path transformation for FCFS mutual exclusion
SOFSEM'05 Proceedings of the 31st international conference on Theory and Practice of Computer Science
A practical single-register wait-free mutual exclusion algorithm on asynchronous networks
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
A methodology for creating fast wait-free data structures
Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
Hi-index | 0.00 |
Several years ago, Yang and Anderson presented all N-process algorithm for mutual exclusion under read/write atomicity that has Θ(log N) time complexity, where "time" is measured by counting remote memory references. In this algorithm, instances of a two-process mutual exclusion algorithm are embedded within a binary arbitration tree. In the two-process algorithm that was used, all busy-waiting is done by "local spinning." Performance studies presented by Yang and Anderson showed that their N-process algorithm exhibits scalable performance under heavy contention. One drawback of using an arbitration tree, however, is that each process is required to perform Θ(log N) remote memory operations even when there is no contention. To remedy this problem, Yang and Anderson presented a variant of their algorithm that includes a "fast-path" mechanism that allows the arbitration tree to be bypassed in the absence of contention. This algorithm has the desirable property that contention-free time complexity is O(1). Unfortunately, the fast-path mechanism that was used caused time complexity under contention to rise to Θ(N) in the worst case. To this day, the problem of designing a read/write mutual exclusion algorithm with O(1) time complexity in the absence of contention and O(log N) time complexity under contention has remained open. In this paper, we close this problem by presenting a fast-path mechanism that achieves these time complexity bounds when used in conjunction with Yang and Anderson's arbitration-tree algorithm.