Decreased hardware costs will facilitate the use of parallel computation in the near future. Synchronization primitives will be needed to implement concurrent algorithms. Many such primitives have been proposed to date. Unfortunately, their power can only be accurately measured in terms of their ability to solve a particular set of synchronization problems. A correspondingly large number of such problems have been proposed along with the primitives. We present some of ...
An algorithm which solves the critical section problem for distributed processes is presented. We extend the solution of Lamport LL76 by continuing to allow processes to access their respective critical sections in any arbitrary user-specified order, but with greatly reduced storage requirements for each process. In addition, we supply a facility for testing the presence of deadlock among processes waiting to enter their critical code. We show our scheme to ...