Data Centers

Calvin: Deterministic or Not? Free Will to Choose

Download Now Date Added: Dec 2010
Format: PDF

Most shared memory systems maximize performance by unpredictably resolving memory races. Unpredictable memory races can lead to non-determinism in parallel programs, which can suffer from hard-to-reproduce hiesenbugs. The authors introduce Calvin, a shared memory model capable of executing in a conventional nondeterministic mode when performance is paramount and a deterministic mode when execution repeatability is important. Unlike prior hardware proposals for deterministic execution, Calvin exploits the flexibility of a memory consistency model weaker than sequential consistency.