Sequential Consistency

POC to prove that modern processors do NOT implement Sequential Consistency:

https://github.com/sahil-time/distributed_systems/blob/main/seq_consistency_poc.c

https://preshing.com/20120515/memory-reordering-caught-in-the-act/

That’s because a single processor never sees its own operations out of order,

https://github.com/CoffeeBeforeArch/CoffeeBeforeArch.github.io/blob/master/_posts/2020-11-29-hardware-memory-ordering.md

Fundamentally, the Compiler and the Processor re-orders instructions of a Program that it thinks are independent. However, this re-ordering might affect other Programs and the way they execute. Compilers and Processors operate on a Program level, and do NOT care about Process Synchronization. This is where most issues come up!