Role Processes for Sharing a Resource between a Group of Processes

Karina M. Cenci and Jorge R. Ardenghi


Mutual Exclusion, Group Mutual Exclusion, Concurrency, Distributed Systems


Distributed systems are in continuous growth and new requirements emerge. Initially, in multiprogramming, the mutual exclusion problem was the aim to solve. Then, different extensions and variations come up, like k-mutual exclusion, and group mutual exclusion. In this paper, the proposal is based on an extension to group mutual exclusion (GME) where processes join a group with a role (shared, exclusive) in each stage. The properties that must guarantee a solution to GME are: mutual exclusion, bounded delay, progress and concurrency. For this extension, it requires a new property: role mutual exclusion. A general model to solve the problem is composed of two players: groups and processes. This model can be applied to the different communication mechanisms (shared memory, messages). Examples of implementations based on messages, and shared memory are presented. The shared memory proposed solution is based on an adaptive bakery algorithm.

Important Links:

Go Back