The Congenial Talking Philosophers in Complete Networks


Two algorithms, RA1 and RA2, have been proposed by Joung (1998b) for the Congenial Talking Philosophers problem in asynchronous complete networks. RA1 is a straightforward modification from Ricart and Agrawala's algorithm for n-process exclusion. It works as follows:

Workbench of RA1.


One may have noted from the workbench for RA1 that most of the time, only one philosopher can be in the meeting room, regardless of the fact that some other philosophers may be waiting for the same forum simultaneously. Indeed, by the simulation study in Joung (1998b), RA1 provides virtually no concurrency; its performance is only slightly better than one that strictly imposes mutual exclusion on every entry to the meeting room!

RA2 significantly improves the performance of RA1. It does so by using vector timestamps and allowing philosophers in the meeting room to capture other philosophers to join the ongoing forum. In RA2, each philosopher Pi maintains two vector logical clocks VSN and VF, where VSN[j] records a count of requests that have occurred at Pj and that are known at Pi, and VF[j] records a count of entries to the meeting room that are made by Pj and that are known at Pi. VSN is used to implement the priority, and VF is used to let philosophers know if acknowledgments (i.e., replies) to their requests are "up-to-date". RA2 works as follows:

[Home]