Asynchronous group mutual exclusion (extended abstract)

Mutual exclusion and coucurreucy are two fuudameutal and essentially opposite features in distributed systems. However, in some applications such as computer supported cooperative works (CSCW) we have found it necessary to impose mutual exclusion on different groups of processes in accessing a resource, while allowing processes of the same group to share the resource. To our knowledge, no such design issue has been raised in the literature. Our contributions of the paper are to present a new problem, which we refer to as the Congenial Talking Philosophers, to model the design issue for concurrency while mutual exclusion. We also propose several criteria to evaluate solutions of the problem and to measure their performance. Finally, we provide an efficient and highly concurrent distributed algorithm for the problem in a shared-memory model where processes communicate by reading from and writing to shared variables. The distributed algorithm meets the proposed criteria and has a similar performance as some naive but centralized solutions to the problem.