Calvin: Deterministic or Not? Free Will to Choose

Download Now Free registration required

Executive Summary

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.

  • Format: PDF
  • Size: 312.6 KB