Algorithms for mutual exclusion
Algorithms for mutual exclusion
A fast mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
A simple solution to Lamport's concurrent programming problem with linear wait
ICS '88 Proceedings of the 2nd international conference on Supercomputing
A first-come-first-served mutual-exclusion algorithm with small communication variables
ACM Transactions on Programming Languages and Systems (TOPLAS)
A New Solution to Lamport's Concurrent Programming Problem Using Small Shared Variables
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
Additional comments on a problem in concurrent programming control
Communications of the ACM
Solution of a problem in concurrent programming control
Communications of the ACM
Bounding Lamport's Bakery Algorithm
SOFSEM '01 Proceedings of the 28th Conference on Current Trends in Theory and Practice of Informatics Piestany: Theory and Practice of Informatics
Economical solutions for the critical section problem in a distributed system (Extended Abstract)
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
A new solution to the critical section problem
STOC '78 Proceedings of the tenth annual ACM symposium on Theory of computing
Complexity of communication among asynchronous parallel processes
Complexity of communication among asynchronous parallel processes
Shared-memory mutual exclusion: major research trends since 1986
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Software and the Concurrency Revolution
Queue - Multiprocessors
Principles of Concurrent and Distributed Programming (2nd Edition) (Prentice-Hall International Series in Computer Science)
Synchronization Algorithms and Concurrent Programming
Synchronization Algorithms and Concurrent Programming
Distributed computing and the multicore revolution
ACM SIGACT News
Highly-fair bakery algorithm using symmetric tokens
Information Processing Letters
Nonatomic dual bakery algorithm with bounded tokens
Acta Informatica
Yet Another Simple Solution for the Concurrent Programming Control Problem
IEEE Transactions on Parallel and Distributed Systems
Concurrent Programming: Algorithms, Principles, and Foundations
Concurrent Programming: Algorithms, Principles, and Foundations
Hi-index | 0.00 |
Let n be the number of threads that can compete for a shared resource R. The mutual exclusion problem involves coordinating these n concurrent threads in accessing R in a mutually exclusive way. This paper addresses two basic questions related to the First-Come-First-Served (FCFS) mutual exclusion algorithms that use only read-write operations: one is regarding the lower bound on the shared space requirement and the other is about fairness. The current best FCFS algorithm using read-write operations requires 5n shared bits. Could the shared space requirement be further reduced? The existing FCFS mutual exclusion algorithms assure fairness only among the threads which cross the 'doorway' sequentially. In systems with multicore processors, which are becoming increasingly common nowadays, threads can progress truly in parallel. Therefore, it is quite likely that several threads can cross the doorway concurrently. In such systems, the threads which cross the doorway sequentially may constitute only a fraction of all competing threads. While this fraction of threads follow the FCFS order, the rest of the threads have to rely on a biased scheme which always favors threads with smaller identifiers. Is there a simpler way to remove this bias to assure global fairness? This paper answers the above two questions affirmatively by presenting simple FCFS mutual exclusion algorithms using only read-write operations-the first one using 3n shared bits and the latter algorithms using 4n shared bits. The resulting algorithms are simple, space-efficient, and highly fair.