Economical solutions for the critical section problem in a distributed system (Extended Abstract)

A solution to the critical section problem, first posed by Dijkstra [1], is a fundamental requirement for concurrent program control. The problem is to ensure that no two processes are in a specified area of their programs (the critical section) at the same time. Improvements to Dijkstra's solution were made by Knuth [2], deBruijn [3], and Eisenberg and McGuire [4]. The situation, for a distributed system was considered by Lamport [5]. Rivest and Pratt [6] presented a solution for a distributed system where processes may repeatedly fail. The algorithms to be presented will be further improvements, where the comparisons will be made according to three measures: message size—the number of values the variable for interprocess communication can take on; fairness—the sequence in which waiting processes enter their critical sections; and time—the amount of time a process spends attempting to enter its critical section.