Sequential Consistency
In addition to coherence we must provide “sequential consistency”
[Lamport 1979]: “The result of any execution is the same as if the operations of all processors were in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program”.
- Any parallel execution must correspond to some interleaved execution on a single processor
Implementing consistency
- Limit use of write buffers
- Use semaphores to lock variables so they cannot be read until writes complete