High-performance determinism with total store order consistency
Timothy Merrifield, Joseph Devietti, Jakob Eriksson · 2015
We present Consequence, a deterministic multi-threading library. Consequence achieves deterministic execution via store buffering and strict ordering of synchronization operations. To ensure high performance under a wide variety of conditions, the ordering of synch operations is based on a deterministic clock [25], and store buffering is implemented using version-controlled memory [23].