Peacenik: Architecture Support for Not Failing under Fail-Stop Memory Consistency

Session: Speculation and consistency--Brain teasers.

Authors: Rui Zhang (Ohio State University); Swarnendu Biswas (Indian Institute of Technology Kanpur); Vignesh Balaji (Carnegie Mellon University); Michael Bond (Ohio State University); Brandon Lucia (Carnegie Mellon University)

Modern shared-memory systems have erroneous, undefined behavior for programs that are not well synchronized. A promising solution is to provide fail-stop memory consistency, which ensures well-defined behavior for all programs. While fail-stop consistency avoids undefined behavior, it can lead to unexpected failures, imperiling performance or progress. This paper presents architecture support called Peacenik that avoids failures in the context of fail-stop memory consistency. We demonstrate Peacenik by applying Peacenik’s general mechanisms to two existing architectures that provide fail-stop consistency. A simulation-based evaluation shows that Peacenik eliminates nearly all of the high costs of fail-stop behavior incurred by the baseline architectures, demonstrating how to get the benefits of fail-stop consistency without incurring most or all of its costs.