'Does sequential consistency implies cache coherence?
The definition of cache coherence says that:
- A read must return the most recent write.
- Every write must eventually be accessible via a read.
- Writes to a given location are seen in the same order by all processors
In sequential consistency
- There is a total order for all operations
- Every operation is atomic.
- The total order should follow the program order.
If we conform to the sequential consistency, every condition of cache coherence seems to be fulfilled. So I guess the sequential consistency implies cache coherence (and sequential consistency is stronger than cache coherence).
Solution 1:[1]
The key in a sequential consistency is that all processors will see all events in the same order, but there is no guarantee when that will happen. As a result, in many cases you won't be able to get most recent write.
In a strongly consistent system, both order and recency are met.
Btw, I saw in some literature a weaker definition of sequential consistency - all processors will see events in SOME order, but the order is the same for all. What it means, that if you have several writes, they might be executed in whatever order - maybe not in the order a client submits them; but all processors will get the same order, whatever the order is.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | AndrewR |
