Hits:
Indexed by:会议论文
Date of Publication:2015-01-01
Included Journals:CPCI-S
Page Number:50-58
Key Words:multicore processor; parallel prgram; deterministic replay; execution sequence; multithread program; shared memory
Abstract:Deterministic replay can reenact an earlier program execution, which can facilitate debugging the parallel program. There is non-determinism to access to shared resources when a parallel program runs on multicore processor, from which the major challenge of deterministic replay comes. An execution sequence inferred deterministic replay technique is proposed to reduce the record cost, ESIDR. The key idea of ESIDR is tracking the read actions of shared memory with a virtual cache and logging write-read dependence when a write action of shared memory happens. The dependence among shared memory accesses is obtained by analyzing the log that is a subset of exact dependence. We make an effective and feasible trade-off between recording and replaying to reduce the runtime overhead and the log size at record. Our replay approach guarantees the real and complete dependence between writing and reading of shared memory. A contrast experiment with stateof-the-art deterministic replay technique LEAP is conducted. The evaluation results show that ESIDR makes 2.38 times and 3.91 times reduction on the runtime overhead and the log size, comparing with LEAP.