The mutual exclusion problem: part I—a theory of interprocess communication

@article{Lamport1986TheME,
  title={The mutual exclusion problem: part I—a theory of interprocess communication},
  author={Leslie Lamport},
  journal={J. ACM},
  year={1986},
  volume={33},
  pages={313-326}
}
  • L. Lamport
  • Published 1 April 1986
  • Computer Science
  • J. ACM
A novel formal theory of concurrent systems that does not assume any atomic operations is introduced. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: “precedence” and “can causally affect”. A primitive interprocess communication mechanism is then defined. In Part II, the mutual exclusion is expressed precisely in terms of this model, and solutions using the communication mechanism are given. 

Figures from this paper

Two implementation relations and the correctness of communicating replicated processes
TLDR
This paper studies the correctness of distributed systems made up of replicated processes that communicate by message passing, and shows how a target process may be implemented by replicating it in a set of copies, a majority of which is non-faulty.
A formalism for specifying communicating processes
  • F. Lin
  • Computer Science
    CSC '93
  • 1993
TLDR
This work presents a framework to specify and validate the design of message passing systems with synchronous or asynchronous communications, and describes how a systolic array and a communication protocol can be specified and justified with respect to its design.
A PROOF TECHNIQUE FOR REGISTER ATOMICITY (Preliminary Version)
TLDR
A new model is rigorously presented for the first time, and then a new method is given for proving register atomicity, which is then used to give a simple proof of the atomicity of the first and only direct construction of a multireader multiwriter register from atomic I-reader I-writer r<'gisters.
Towards the automatic synthesis of asynchronous communication mechanisms
TLDR
This work introduces a technique for the automatic synthesis of ACMs, having as starting point only its functional specification, and the result is an ACM implementation that can be used to communicate two asynchronous processes guaranteeing properties such as coherence and freshness.
Partial order relations in distributed object environments
TLDR
This work generalizes the Lamport's Happened-before relation defined for message passing applications to a causal relation between actions or methods in object world and precise a set of order properties for group method invocations.
On Lamport's interprocessor communication model
TLDR
The extent to which Leslie Lamport's axiom system differs from systems based on “atomic,” or indivisible, actions is determined.
Service Availability in Concurrent Systems - Part I: A Theory of Hierarchical Services of Interacting Processes
TLDR
An axiomatic model of concurrent systems is introduced through which a number of issues related to service availability including mutual exclusion, deadlock/starvation freedom, denial/quality of services and fault tolerance can be described in a cohesive manner.
The Weakest Memory-Access Order
  • P. Bitar
  • Computer Science
    J. Parallel Distributed Comput.
  • 1992
Modelling Reactive Hardware Processes Using Partial Orders
TLDR
This work presents an approach based on partial-order semantics for abstract specification and composition of reactive hardware processes, and proves the correctness of networks of such processes, by using behavior machines as finite presentations of pomtrees.
Specification of time dependencies and synthesis of concurrent processes
TLDR
It is shown how the interval calculus may be used to give very-high-level specifications of concurrent process protocols, and how these specifications may be automatically refined using interval calculus into a target specification language.
...
...

References

SHOWING 1-10 OF 23 REFERENCES
A New Approach to Proving the Correctness of Multiprocess Programs
A new, nonassertional approach to proving multiprocess program correctness is described by proving the correctness of a new algorithm to solve the mutual exclusion problem. The algorithm is an
Concurrent Programming Concepts
TLDR
The evolution of language features for multiprogramming from event queues and semaphores to critical regions and monitors is described and it is suggested that the choice of language concepts should be guided by two simple principles.
Solution of a problem in concurrent programming control
A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in
Solution of a problem in concurrent programming control
A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in
A new solution of Dijkstra's concurrent programming problem
A simple solution to the mutual exclusion problem is presented which allows the system to continue to operate despite the failure of any individual component.
Anomalous Behavior of Synchronizer and Arbiter Circuits
Observations are shown of oscillatory and metastable behavior of flip-flops in response to logically undefined input conditions such as those that occur in synchronizers and arbiters. Significant
Space and Time
Abstract“FROM this time forth space and time apart from each other are become mere shadows, and only a kind of compound of the two can have any reality.” So spoke Herrmann Minkowski in 1908. But his
Space-Time Physics
E. F. Taylor and J. A. Wheeler London: W. H. Freeman ' Co. 1966. Pp. 208. Price £1 6s. In recent years there has been something of a revolution in the teaching of the special theory of relativity. A
Relativity in Illustrations
...
...