Abstract

Shared-memory multithreaded programs running on chip multiprocessors (CMPs) tend to be nondeterministic. Two-phase deterministic record-replay is an effective approach to resolve this problem. This paper proposes an efficient separate memory race record-replay (SMRR) based on point-to-point logging approach. During recording, SMRR logs predecessors and successors of memory races separately and uses an optimized log entry format for each log entry, achieving small log size and low bandwidth overhead. During replay, SMRR actively produces wakeup messages to trigger stalled successors in time, achieving low communication overhead and fast replay speed. The simulation shows that SMRR writes a small memory race log for SPLASH-2 and PARSEC workloads, and has good scalability in log size. More importantly, SMRR can achieve the lowest bandwidth overhead in the recording phase, and a replay speed within 1–18% of the native execution speed without record-replay.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call