Calvin: Deterministic or not? Free will to choose

  • Authors:
  • Derek R. Hower;Polina Dudnik;Mark D. Hill;David A. Wood

  • Affiliations:
  • Computer Sciences Department, University of Wisconsin-Madison, 1210 W Dayton St, Madison, WI 53706;Computer Sciences Department, University of Wisconsin-Madison, 1210 W Dayton St, Madison, WI 53706;Computer Sciences Department, University of Wisconsin-Madison, 1210 W Dayton St, Madison, WI 53706;Computer Sciences Department, University of Wisconsin-Madison, 1210 W Dayton St, Madison, WI 53706

  • Venue:
  • HPCA '11 Proceedings of the 2011 IEEE 17th International Symposium on High Performance Computer Architecture
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most shared memory systems maximize performance by unpredictably resolving memory races. Unpredictable memory races can lead to nondeterminism in parallel programs, which can suffer from hard-to-reproduce hiesenbugs. We 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. Specifically, Calvin logically orders memory operations into strata that are compatible with the Total Store Order (TSO). Calvin is also designed with the needs of future power-aware processors in mind, and does not require any speculation support. We develop a Calvin-MIST implementation that uses an unordered coalescing write cache, multiple-write coherence protocol, and delayed (timebomb) invalidations while maintaining TSO compatibility. Results show that Calvin-MIST can execute workloads in conventional mode at speeds comparable to a conventional system (providing compatibility) or execute deterministically for a modest average slowdown of less than 20% (when determinism is valued).