TY - JOUR
T1 - Cyrus
T2 - Unintrusive application-level record-replay for replay parallelism
AU - Honarmand, Nima
AU - Dautenhahn, Nathan
AU - Torrellas, Josep
AU - King, Samuel T.
AU - Pokam, Gilles
AU - Pereira, Cristiano
N1 - Copyright:
Copyright 2013 Elsevier B.V., All rights reserved.
PY - 2013/4
Y1 - 2013/4
N2 - Architectures for deterministic record-replay (R&R) of multithreaded code are attractive for program debugging, intrusion analysis, and fault-tolerance uses. However, very few of the proposed designs have focused on maximizing replay speed - a key enabling property of these systems. The few efforts that focus on replay speed require intrusive hardware or software modifications, or target whole-system R&R rather than the more useful applicationlevel R&R. This paper presents the first hardware-based scheme for unintrusive, application-level R&R that explicitly targets high replay speed. Our scheme, called Cyrus, requires no modification to commodity snoopy cache coherence. It introduces the concept of an onthe- fly software Backend Pass during recording which, as the log is being generated, transforms it for high replay parallelism. This pass also fixes-up the log, and can flexibly trade-off replay parallelism for log size.We analyze the performance of Cyrus using full system (OS plus hardware) simulation. Our results show that Cyrus has negligible recording overhead. In addition, for 8-processor runs of SPLASH-2, Cyrus attains an average replay parallelism of 5, and a replay speed that is, on average, only about 50% lower than the recording speed.
AB - Architectures for deterministic record-replay (R&R) of multithreaded code are attractive for program debugging, intrusion analysis, and fault-tolerance uses. However, very few of the proposed designs have focused on maximizing replay speed - a key enabling property of these systems. The few efforts that focus on replay speed require intrusive hardware or software modifications, or target whole-system R&R rather than the more useful applicationlevel R&R. This paper presents the first hardware-based scheme for unintrusive, application-level R&R that explicitly targets high replay speed. Our scheme, called Cyrus, requires no modification to commodity snoopy cache coherence. It introduces the concept of an onthe- fly software Backend Pass during recording which, as the log is being generated, transforms it for high replay parallelism. This pass also fixes-up the log, and can flexibly trade-off replay parallelism for log size.We analyze the performance of Cyrus using full system (OS plus hardware) simulation. Our results show that Cyrus has negligible recording overhead. In addition, for 8-processor runs of SPLASH-2, Cyrus attains an average replay parallelism of 5, and a replay speed that is, on average, only about 50% lower than the recording speed.
KW - Application-level Parallel Replay
KW - Backend Log Processing
KW - Deterministic Replay
KW - Source-only Recording
KW - Unintrusive Hardware-Assisted Recording
UR - http://www.scopus.com/inward/record.url?scp=84880105976&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84880105976&partnerID=8YFLogxK
U2 - 10.1145/2499368.2451138
DO - 10.1145/2499368.2451138
M3 - Article
AN - SCOPUS:84880105976
SN - 1523-2867
VL - 48
SP - 193
EP - 206
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 4
ER -