Consistency Model PDF
Consistency Model PDF
Any read on a data item X returns a value corresponding to the result of the most
recent write on X
This is the strongest form of memory coherence which has the most stringent
consistency requirement.
Strict consistency is the ideal model but it is impossible to implement in a distributed
system. It is based on absolute global time or a global agreement on commitment of
changes.
ii.Sequential Consistency
iii.Linearizability
It that is weaker than strict consistency, but stronger than sequential consistency.
A data store is said to be linearizable when each operation is timestamped and the
result of any execution is the same as if the (read and write) operations by all
processes on the data store were executed in some sequential order
The operations of each individual process appear in sequence order specified by its
program.
If tsOP1(x)< tsOP2(y), then operation OP1(x) should precede OP2(y) in this sequence.
iv.Causal Consistency
It is a weaker model than sequential consistency.
In Casual Consistency all processes see only those memory reference operations in
the correct order that are potentially causally related.
Memory reference operations which are not related may be seen by different
processes in different order.
A memory reference operation is said to be casually related to another memory
reference operation if the first operation is influenced by the second operation.
If a write(w2) operation is casually related to another write (w1) the acceptable order
is (w1, w2).
v.FIFO Consistency
vi.Weak consistency
The basic idea behind the weak consistency model is enforcing consistency on a
group of memory reference operations rather than individual operations.
A Distributed Shared Memory system that supports the weak consistency model uses
a special variable called a synchronization variable which is used to synchronize
memory.
When a process accesses a synchronization variable, the entire memory is
synchronized by making visible the changes made to the memory to all other
processes.
vii.Release Consistency
viii.Entry Consistency
i.Eventual Consistency
In Systems that tolerate high degree of inconsistency, if no updates take place for a
long time all replicas will gradually and eventually become consistent. This form of
consistency is called eventual consistency.
Eventual consistency only requires those updates that guarantee propagation to all
replicas.
Eventual consistent data stores work fine as long as clients always access the same
replica.
Write conflicts are often relatively easy to solve when assuming that only a small
group of processes can perform updates. Eventual consistency is therefore often
cheap to implement.
iii.Monotonic Writes