Sequential consistency

Sequential consistency

Sequential consistency is one of the consistency models used in the domain of the concurrent programming (e.g. in distributed 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 consistencyFact|date=May 2007

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Consistency model — In computer science, consistency models are used in distributed systems like distributed shared memory systems or distributed data stores (such as a filesystems, databases, optimistic replication systems or Web caching). The system supports a… …   Wikipedia

  • Sequential equilibrium — Infobox equilibrium name=Sequential Equilibrium subsetof=Subgame perfect equilibrium, perfect Bayesian equilibrium supersetof = extensive form trembling hand perfect equilibrium,Quasi perfect equilibrium discoverer=David M. Kreps and Robert… …   Wikipedia

  • Weak consistency — The name weak consistency may be used in two senses. In the first sense, strict and more popular, the weak consistency is one of the consistency models used in the domain of the concurrent programming (e.g. in distributed shared memory,… …   Wikipedia

  • Causal consistency — is one of the consistency models used in the domain of the concurrent programming (e.g in distributed shared memory, distributed transactions etc).A system provides causal consistency if writes that potentially are causally related are seen by… …   Wikipedia

  • Data consistency — summarizes the validity, accuracy, usability and integrity of related data between applications and across an IT enterprise. This ensures that each user observes a consistent view of the data, including visible changes made by the user s own… …   Wikipedia

  • Parallel computing — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Active Transactions — (in Collaborative Virtual Environments) is a consistency model focused on the strength of the data consistency. It was developed by [http://www.fit.vutbr.cz/ peciva Jan Pečiva ] at [http://www.fit.vutbr.cz Brno University of Technology] in… …   Wikipedia

  • Cache coherence — In computing, cache coherence (also cache coherency) refers to the consistency of data stored in local caches of a shared resource. Multiple Caches of Shared Resource When clients in a system maintain caches of a common memory resource, problems… …   Wikipedia

  • Когерентность кэша — Несколько кэшей для разделяемого ресурса памяти Когерентность кэша (англ. cache coherence) свойство кэшей, означающее целостность данных, хранящихся в локальных …   Википедия

  • Concurrent data structure — In computer science, a concurrent data structure is a particular way of storing and organizing data for access by multiple computing threads (or processes) on a computer. Historically, such data structures were used on uniprocessor machines with… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”