- Sequential consistency
Sequential consistency is one of the
consistency model s used in the domain of theconcurrent programming (e.g. indistributed shared memory ,distributed transactions , etc.). It was first defined as the property that requires that "... the results of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program." [Leslie Lamport , "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs", IEEE Trans. Comput. C-28,9 (Sept. 1979), 690-691.]The system provides sequential consistency if every node of the system sees the (write) operations on the same memory part (page, virtual object, cell, etc.) in the same order, although the order may be different from the order as defined by real time (as observed by hypothetical external observator or global clock) of issuing the operations.
The sequential consistency is weaker than
strict consistency (which would demand that operations are seen in order in which they were actually issued, which is essentially impossible to secure in distributed system as deciding global time is impossible) and is the easiest consistency model to understand, since a system preserving that model is behaving in a way expected by an instantaneous system.The simplicity is achieved at cost of efficiency: distributed systems with sequential consistency model are, without further optimisation such as speculation, one magnitude slower than those providing weaker models such as
causal consistency Fact|date=May 2007References
Wikimedia Foundation. 2010.