Memory Consistency Models 1
Uniform Consistency Models Only have read and write operations Sequential Consistency Pipelined-RAM Causal Consistency Coherence Processor Consistency 2
Sequential Consistency All processes order all writes in the same order Operations in the system can be ordered such that it appears they were executed by a single process. Formal definition: An execution E with operations O is Sequentially Consistent if there exists a total order (O, >) such that 1. and 2. (O,>) is valid 3
Pipelined Ram All processes order all writes in program order Formal Definition: An execution E with operations O is Pipelined RAM if for all processes p there exists a total order (O p ⋃ O w, > p ) such that 1. and 2. (O p ⋃ O w, > p ) is valid 4
Coherence All processes view all writes to the same location in the same order. Formal Definition: An execution E with operations O is Coherent if for all locations x there exists a total order (O x, > x ) such that 1. and 2. (O x, > x ) is valid 5
Causal Consistency All processes order writes such that it satisfies Lamport’s happens-before relation Formal Definition: An execution E with operations O is Causally Consistent if for all processes p there exists a total order (O p ⋃ O w, > p ) such that 1. and 2. (O p ⋃ O w, > p ) is valid 6
Hybrid Models Distinguish between different types of memory accesses Release Consistency – Provides acquire and release operations Entry Consistency – Each shared variable has a lock Scope Consistency – Variables are associated with locks automatically Weak Consistency – Orders synchronization operations 7
Release Consistency Hybrid Model Operations available: – Read – read local copy – Write – write to local copy – Acquire – update local copy – Release – send updates of local copy Acquire and Release ops are sequentially consistent 8
Acquire-release Order (O, ) – acquire-release order O 1 o 2 if o 1 o 2 and – o 1 and o 2 are on the same data item, or – o 1 is an acquire, or – o 2 is a release, or – There exists o st o 1 o and o o 2 9
Definition of RC A computation is Release Consistent if Each process orders its own ops, all writes, release and acquire operations Such that the order satisfies the acquire-release order The acquire and release ops are ordered such that – All processes agree on the ordering (SC) – Each acquire is immediately followed by its matching release. 10