The drinking philosophers problem
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Parallel program design: a foundation
Parallel program design: a foundation
A tree-based algorithm for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
An efficient implementation of vector clocks
Information Processing Letters
A distributed mutual exclusion algorithm
ACM Transactions on Computer Systems (TOCS)
A N algorithm for mutual exclusion in decentralized systems
ACM Transactions on Computer Systems (TOCS)
Unreliable failure detectors for reliable distributed systems
Journal of the ACM (JACM)
An optimal algorithm for mutual exclusion in computer networks
Communications of the ACM
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
IEEE Transactions on Computers
Fault-Tolerance for Token-based Synchronization Protocols
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Proceedings of the 2nd International Workshop on Distributed Algorithms
The congenial talking philosophers problem in computer networks
Distributed Computing
Quorum-Based Algorithms for Group Mutual Exclusion
IEEE Transactions on Parallel and Distributed Systems
Token Based Group Mutual Exclusion for Asynchronous Rings (Extended Abstract)
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
A Quorum-Based Extended Group Mutual Exclusion Algorithm without Unnecessary Blocking
ICPADS '04 Proceedings of the Parallel and Distributed Systems, Tenth International Conference
Asynchronous group mutual exclusion
Distributed Computing
Mutual exclusion in asynchronous systems with failure detectors
Journal of Parallel and Distributed Computing
A Quorum-Based Group Mutual Exclusion Algorithm for a Distributed System with Dynamic Group Set
IEEE Transactions on Parallel and Distributed Systems
A fault-tolerant token-based mutual exclusion algorithm using a dynamic tree
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
A token-based distributed algorithm for the generalized resource allocation problem
OPODIS'10 Proceedings of the 14th international conference on Principles of distributed systems
Automated distributed implementation of component-based models with priorities
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
A New Link Failure Resilient Priority Based Fair Mutual Exclusion Algorithm for Distributed Systems
Journal of Network and Systems Management
Hi-index | 0.00 |
In the group mutual exclusion problem, each critical section has a type or a group associated with it. Processes requesting critical sections belonging to the same group (that is, of the same type) may execute their critical sections concurrently. However, processes requesting critical sections belonging to different groups (that is, of different types) must execute their critical sections in a mutually exclusive manner. Most algorithms for solving the group mutual exclusion problem that have been proposed so far in the literature treat all groups equally. This is quite acceptable if a process, at the time of making a request for critical section, selects a group for the critical section uniformly. However, if some groups are more likely to be selected than others, then better performance can be achieved by treating different groups in a different manner. In this paper, we propose an efficient algorithm for solving the group mutual exclusion problem when group selection probabilities are non-uniformly distributed. Our algorithm has a message complexity of 2n-1 per request for critical section, where n is the number of processes in the system. It has low synchronization delay of one message hop and low waiting time of two message hops. The maximum concurrency of our algorithm is n, which implies that if all processes have requested critical sections of the same type then all of them may execute their critical sections concurrently. Finally, the amortized message-size complexity of our algorithm is O(1). Our experimental results indicate that our algorithm outperforms the existing algorithms, whose complexity measures are comparable to that of ours, by as much as 50% in some cases.