Distributed FIFO allocation of identical resources using small shared space
ACM Transactions on Programming Languages and Systems (TOPLAS)
Toward a non-atomic era: l-exclusion as a test case
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Bounded concurrrent time-stamp systems are constructible
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Algorithms for scalable synchronization on shared-memory multiprocessors
ACM Transactions on Computer Systems (TOCS)
A bounded first-in, first-enabled solution to the l-exclusion problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new solution of Dijkstra's concurrent programming problem
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
Shared-memory mutual exclusion: major research trends since 1986
Distributed Computing - Papers in celebration of the 20th anniversary of PODC
Distributed Computing
Using local-spin k-exclusion algorithms to improve wait-free object implementations
Distributed Computing
Tight RMR lower bounds for mutual exclusion and other problems
STOC '08 Proceedings of the fortieth annual ACM symposium on Theory of computing
Resource allocation with immunity to limited process failure
SFCS '79 Proceedings of the 20th Annual Symposium on Foundations of Computer Science
Hi-index | 0.02 |
Mutual exclusion is used to coordinate access to shared resources by concurrent processes. k-Exclusion is a variant of mutual exclusion in which up to k processes can simultaneously access the shared resource. We present the first known shared-memory k-exclusion algorithms that use only atomic reads and writes, have bounded remote memory reference (RMR) complexity, and tolerate crash failures. Our algorithms have RMR complexity O(N) in both the cache-coherent and distributed shared-memory models, where N is the number of processes in the system. Additionally, we present a k-exclusion algorithm that satisfies the First-In-First-Enabled (FIFE) fairness property. FIFE requires that processes become "enabled" to enter the CS roughly in the order that they request access to the shared resource. Finally, we present a modification to the FIFE k-exclusion algorithm that works with non-atomic reads and writes. The high-level structure of all our algorithms is inspired by Lamport's famous Bakery algorithm.