Weak Consistency
   HOME

TheInfoList



OR:

The name weak consistency can be used in two senses. In the first sense, strict and more popular, weak consistency is one of the
consistency model In computer science, a consistency model specifies a contract between the programmer and a system, wherein the system guarantees that if the programmer follows the rules for operations on memory, memory will be data consistency, consistent and th ...
s used in the domain of
concurrent programming Concurrent means happening at the same time. Concurrency, concurrent, or concurrence may refer to: Law * Concurrence, in jurisprudence, the need to prove both ''actus reus'' and ''mens rea'' * Concurring opinion (also called a "concurrence"), a ...
(e.g. in
distributed shared memory In computer science, distributed shared memory (DSM) is a form of memory architecture where physically separated memories can be addressed as a single shared address space. The term "shared" does not mean that there is a single centralized memo ...
,
distributed transactions A distributed transaction operates within a Distributed computing, distributed environment, typically involving multiple nodes across a network depending on the location of the data. A key aspect of distributed transactions is Atomicity (programmin ...
etc.). A protocol is said to support weak consistency if: #All accesses to synchronization variables are seen by all processes (or nodes, processors) in the same order (sequentially) - these are synchronization operations. Accesses to critical sections are seen sequentially. #All other accesses may be seen in different order on different processes (or nodes, processors). #The set of both read and write operations in between different synchronization operations is the same in each process. Therefore, there can be no access to a synchronization variable if there are pending write operations. And there can not be any new read/write operation started if the system is performing any synchronization operation. In the second, more general, sense weak consistency may be applied to any consistency model weaker than
sequential consistency Sequential consistency is a consistency model used in the domain of concurrent computing (e.g. in distributed shared memory, distributed transactions, etc.). It is the property that "... the result of any execution is the same as if the operation ...
. A stricter condition is strong consistency, where parallel processes can observe only one consistent state.


References

* The original paper on weak ordering: M. Dubois, C. Scheurich and F. A. Briggs, ''Memory Access Buffering in Multiprocessors'', in Proceedings of 13th Annual
International Symposium on Computer Architecture The International Symposium on Computer Architecture (ISCA) is an annual academic conference on computer architecture, generally viewed as the top-tier in the field. Association for Computing Machinery's Special Interest Group on Computer Archit ...
14, 2 (June 1986), 434-442. * Sarita V. Adve, Mark D. Hill,
Weak ordering - a new definition
', in Proceedings of the 17th Annual
International Symposium on Computer Architecture The International Symposium on Computer Architecture (ISCA) is an annual academic conference on computer architecture, generally viewed as the top-tier in the field. Association for Computing Machinery's Special Interest Group on Computer Archit ...
. Consistency models {{compu-eng-stub