© 1976 by British Computer Society
Improvement of parallelism in a finite buffer sharing policy
Laboratoire d'Informatique Theorique, Faculte des Sciences, Universite Libre de Bruxelles, Avenue F.-D. Roosevelt, 50, Bruxelles, Belgium
When parallel processes are linked in producer-consumer pairs and share a finite buffer where every portion is accessible to each process, it appears that a slow consumer may considerably delay the entire system.
Using conditional critical sections, Dijkstra has proposed to reserve for each producer-consumer pair the adequate number of portions for a normal working and to dedicate the rest of the buffer to absorb the production peaks of the various pairs. L. W. Cooprider et al. then developed solutions which avoid systematic inspection and only use the now classical synchronisation primitives P and V.
The present paper is devoted to the elaboration of solutions which improve parallelism and, when useful, discharge processes of administrative tasks.
We have used and compared four synchronising methods to this aim: conditional critical sections, semaphores, path expressions and monitors.
Received June 1974.
* Laboratoire d'Informatique Théorique, Faculté des Sciences, Université Libre de Bruxelles, Avenue F.-D. Roosevelt, 50, 1050 Bruxelles, Belgium.