n-Philosophers: an exercise in distributed control

https://doi.org/10.1016/0376-5075(80)90017-3Get rights and content

Abstract

The n-philosophers problem is an example of asynchronous processes which interact. We assume an environment in which philosophers become hungry at arbitrary intervals, and the use of global mechanisms such as semaphores or shared memory is disallowed. Instead, a message-passing mechanism is used to detect the presence of deadlock among the philosophers. Some alternative ways in which deadlock can be resolved are derived from differences in the way philosophers might relinquish their resources and pending requests. In one solution, a mutual exclusion mechanism is required in order to prevent starvation. In the best solution, the mechanism of relinquishing guarantees that all philosophers will consume, without requiring mutual exclusion.

References (6)

  • E.J.H. Chang, A class of decentralized mechanism for mutual exclusion in distributed systems. Working...
  • E.J.H. Chang

    Echo algorithms: depth parallel operations on general graphs

    SIAM J. of Computing

    (November 1978)
  • E.J.H. Chang et al.

    An improved algorithm for decentralized extrema finding in circular configurations of processes

    Comm ACM

    (May 1979)
There are more references available in the full text version of this article.

Cited by (0)

This work was done while the author was an Adjunct Professor at the University of Waterloo. His present address is: Department of Mathematics, University of Victoria, P.O. Box 1700, Victoria, B.C. V8W 2Y2, Canada.

View full text