N-process synchronization by 4.log2N-valued shared variable

  • Authors:
  • Michael O. Rabin

  • Affiliations:
  • -

  • Venue:
  • SFCS '80 Proceedings of the 21st Annual Symposium on Foundations of Computer Science
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

Abstract

The problem of implementing mutual exclusion of N asynchronous parallel processes in a model where the primitive communication mechanism is a test-and-set operation on a shared variable, was the subject of extensive research. While a two-valued variable suffices to insure mutual exclusion, it is shown in [1] that N/2 values are necessary to avoid lockout of any process, and N + 1 values are required to insure bounded waiting time. We introduce the idea of employing randomization in the synchronization protocol and achieve a mutual exclusion, lockout-free, bounded-waiting solution using just 4(log2N+4)-valued shared variable. The protocol is extremely simple, easy to implement, and avoids certain undesirable features present in some of the other solutions.