Release consistency
|
Release consistency is one of the consistency models used in the domain of the parallel programming (e.g in distributed shared memory, distributed transactions etc).
Systems of that kind are characterised by existence of two special synchronisation operations, release and acquire. Before issuing write to a memory object a node must acquire the object via a special operation, and later release it. Therefore the application that runs within the operation acquire and release constitutes the critical region. The system is said to provide release consistency, if all write operation by a certain node are seen by the other nodes before the former releases the object and before the latter acquire it.
There are two kinds of coherence protocols that implement release consistency:
- eager, where all coherence actions are performed on release operations, and
- lazy, where all coherence actions are delayed until after a subsequent acquire