A simple solution to Lamport's concurrent programming problem with linear wait

  • Authors:
  • B. K. Szymanski

  • Affiliations:
  • Rensselear Polytechnic Institute, Troy, NY

  • Venue:
  • ICS '88 Proceedings of the 2nd international conference on Supercomputing
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

A new simple solution to the Lamport's concurrent programming problem is presented. The algorithm uses five distinct values of shared memory per process. The shared values can be stored either in a single variable or in three one-bit Boolean variables assigned to each process. The algorithm exhibits strong fairness property by enforcing the linear wait. It can be made immune to two types of errors typical to VLSI chip based multiprocessor systems: process failures and restarts, and read errors occurring during writes.The algorithm requires a small number of writes to shared memory. At most 4xp- ⌈p/n⌉ writes are needed for p entries to critical section by n competing processes. The algorithm's scheme is similar to that of Morris's solution to the mutual exclusion based on three weak semaphores.