The mutual exclusion problem: part I—a theory of interprocess communication
Journal of the ACM (JACM)
The mutual exclusion problem: partII—statement and solutions
Journal of the ACM (JACM)
Data Requirements for Implementation of N-Process Mutual Exclusion Using a Single Shared Variable
Journal of the ACM (JACM)
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
Further comments on Dijkstra's concurrent programming control problem
Communications of the ACM
Additional comments on a problem in concurrent programming control
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
Mutual Exclusion of N Processors Using an O(N)-Valued Message Variable (Extended Abstract)
Proceedings of the Fifth Colloquium on Automata, Languages and Programming
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
Complexity of communication among asynchronous parallel processes
Complexity of communication among asynchronous parallel processes
A hundred impossibility proofs for distributed computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
A bounded first-in, first-enabled solution to the l-exclusion problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Asynchronous, High-Speed Packet Switching Component
IEEE Design & Test
Using k-exclusion to implement resilient, scalable shared objects (extended abstract)
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
A simple local-spin group mutual exclusion algorithm
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
Theoretical Computer Science
A Simple Local-Spin Group Mutual Exclusion Algorithm
IEEE Transactions on Parallel and Distributed Systems
Space and time efficient self-stabilizing l-exclusion in tree networks
Journal of Parallel and Distributed Computing - Self-stabilizing distributed systems
Computing with Infinitely Many Processes
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
A Simple, Memory-Efficient Bounded Concurrent Timestamping Algorithm
ISAAC '02 Proceedings of the 13th International Symposium on Algorithms and Computation
Simple Mutual Exclusion Algorithms Based on Bounded Tickets on the Asynchronous Shared Memory Model
COCOON '02 Proceedings of the 8th Annual International Conference on Computing and Combinatorics
A New Efficient Tool for the Design of Self-Stabilizing l-Exclusion Algorithms: The Controller
WSS '01 Proceedings of the 5th International Workshop on Self-Stabilizing Systems
Theoretical Computer Science
Self-stabilizing multi-token rings
Distributed Computing
Using local-spin k-exclusion algorithms to improve wait-free object implementations
Distributed Computing
The k-bakery: local-spin k-exclusion using non-atomic reads and writes
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Highly-fair bakery algorithm using symmetric tokens
Information Processing Letters
The space complexity of long-lived and one-shot timestamp implementations
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Tight space bounds for l-exclusion
DISC'11 Proceedings of the 25th international conference on Distributed computing
The Space Complexity of Long-Lived and One-Shot Timestamp Implementations
Journal of the ACM (JACM)
Computing with infinitely many processes
Information and Computation
Hi-index | 0.00 |
We present a simple and efficient algorithm for the FIFO allocation of k identical resources among asynchronous processes that communicate via shared memory. The algorithm simulates a shared queue but uses exponentially fewer shared memory values, resulting in practical savings of time and space as well as program complexity. The algorithm is robust against process failure through unannounced stopping, making it attractive also for use in an environment of processes of widely differing speeds. In addition to its practical advantages, we show that for fixed k, the shared space complexity of the algorithm as a function of the number N of processes is optimal to within a constant factor.