Calvin: Deterministic or Not? Free Will to Choose

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