Experience with Processes and Monitors in Mesa

B. W. Lampson and D. D. Redell, Communications of the ACM 1980

This paper addresses a number of problems that arise with the use of monitors in real systems.

Motivations

The use of monitors for describing concurrency has been much discussed in the literature. However, when monitors are used in real systems of any size, a number of problems arise:

Solution

These problems are addressed by the facilities developed for concurrent programming in Mesa.

Semantics of WAIT

Mesa style results in less context switching and no constraints on when process must run after notify.

Others

The solutions to the above questions are:

Comments

The practical issues with monitors are profound, e.g. semantics of nested monitor calls, semantics of WAIT. Mesa-specific issues like program structure, dynamic process creation are mostly irrelevant today.