The Dining Philosophers:  Will they eat or go hungry?

David J. Powers

NMU

Mathematics and Computer Science

 

Thursday, April 15, 2004

1:00 p.m.

NSF 1209

 

The Dining Philosophers problem is a classic resource allocation problem. The problem consists of five philosophers sitting at a table who do nothing but think and eat. Between each philosopher, there is a single chop stick. In order to eat, a philosopher must have two chop sticks. A problem can arise if each philosopher grabs the chop stick on the right, then waits for the stick on the left. In this case a deadlock has occurred, and all philosophers will starve. Also, the philosophers should be fair. Each philosopher should be able to eat as much as the rest.

 

Different strategies can be employed to avoid deadlock, avoid starvation, and provide a certain degree of fairness.  These strategies will be discussed and evaluated based on the criteria of deadlock, starvation and fairness.