The drinking philosophers problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Improved algorithms for distributed resource allocation
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Efficient fault tolerant algorithms for resource allocation in distributed systems
STOC '92 Proceedings of the twenty-fourth annual ACM symposium on Theory of computing
Fast Algorithms for Distributed Resource Allocation
IEEE Transactions on Parallel and Distributed Systems
Distributed Resource Allocation Algorithms (Extended Abstract)
WDAG '92 Proceedings of the 6th International Workshop on Distributed Algorithms
Distributed Job Scheduling Using Snapshots
WDAG '93 Proceedings of the 7th International Workshop on Distributed Algorithms
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
Efficiency of Partial Synchrony, and Resource Allocation in Distributed Systems
Efficiency of Partial Synchrony, and Resource Allocation in Distributed Systems
A modular drinking philosophers algorithm
Distributed Computing
Hi-index | 0.00 |
This paper concerns resource allocation in distributed message passing systems, i.e., the scheduling of accesses to exclusive system resources shared among concurrent processes. An efficient modular resource allocation algorithm is presented that uses any arbitrary resource allocation algorithm as a subroutine. It improves the performance of the subroutine by letting each process wait only for its currently conflicting processes, and therefore, allows more concurrency. For appropriate choices of the subroutine, we obtain resource allocation algorithms with the minimum worst case response times. Simulation studies were conducted which also indicate that on average, the obtained algorithms perform faster and require a smaller number of messages than other previously known algorithms, especially when resource contention among processes is high and the average time that a process remains in the critical region is large.