Fast and Scalable Group Mutual Exclusion

05/13/2018
by   Shreyas Gokhale, et al.
0

The group mutual exclusion (GME) problem is a generalization of the classical mutual exclu- sion problem in which every critical section is associated with a type or session. Critical sections belonging to the same session can execute concurrently, whereas critical sections belonging to different sessions must be executed serially. The well-known read-write mutual exclusion problem is a special case of the group mutual exclusion problem. In this work, we present a novel GME algorithm for an asynchronous shared-memory system that, in addition to satisfying lockout freedom, bounded exit and concurrent entering properties, has O(1) step-complexity when the system contains no conflicting requests as well as O(1) space- complexity per GME object when the system contains sufficient number of GME objects. To the best of our knowledge, no existing GME algorithm has O(1) step-complexity for concurrent entering. Moreover, most existing GME algorithms have Ω(n) space complexity per GME object, where n denotes the number of processes in the system. We also show that our GME algorithm can be easily modified to use bounded space variables.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset