Getting an intuition for how different consistency models behave can be difficult,
so I am working on some random little sandboxes to play around with different models.
If a system is both cache consistent and PRAM consistent, then it is also processor consistent, meaning all writes from a single process are seen
in the same order by all process, and all writes to the same location are seen in the same order by all processes.
Another weaker model than causal consistency is Cache Consistency. In order for a system to be Cache Consistent,
every process must see every write to the same object in the same sequential order.
The weakest model of consistency for shared memory is local consistency, which requires only that a process
observe its own operations in program order, and places no restrictions on how a process sees the operations
performed by any other process.
A weaker model than causal consistency is PRAM Consistency. In order for a system to be PRAM consistent,
each process must see its own operations in program order, and operations from a single source must be seen in the order
they were issued.
In a sequentially consistent distributed system, all processes observe all write operations in some common order.
A causally consistent system has a slightly weaker guarantee - only causally related writes must be observed in a common order,
and processes can disagree on the order of causally unrelated events.
A distributed system that meets the condition “the result of any execution is the same as if the operations of all processers were executed
in some sequential order, and the operations of each individual process appear in this sequence in the order specified by its program” is said
to be Sequentially consistent.