Offline symbolic analysis for multi-processor execution replay

  • Dongyoon Lee
  • , Mahmoud Said
  • , Satish Narayanasamy
  • , Zijiang Yang
  • , Cristiano Pereira

Research output: Contribution to journalConference articlepeer-review

35 Scopus citations

Abstract

Ability to replay a program's execution on a multi-processor system can significantly help parallel programming. To replay a shared-memory multi-threaded program, existing solutions record its program input (I/O, DMA, etc.) and the shared-memory dependencies between threads. Prior processor based record-and-replay solutions are efficient, but they require non-trivial modifications to the coherency protocol and the memory sub-system for recording the shared-memory dependencies. In this paper, we propose a processor-based record-andreplay solution that does not require detecting and logging shared-memory dependencies to enable multi-processor execution replay. We show that a load-based checkpointing scheme, which was originally proposed for just recording program input, is also sufficient for replaying every thread in a multi-threaded program. Shared-memory dependencies between threads are reconstructed offline, during replay, using an algorithm based on an SMT solver. In addition to saving log space, the proposed solution significantly reduces the complexity of hardware support required for enabling replay.

Original languageEnglish
Pages (from-to)564-575
Number of pages12
JournalProceedings of the Annual International Symposium on Microarchitecture, MICRO
DOIs
StatePublished - 2009
Event42nd Annual IEEE/ACM International Symposium on Microarchitecture, Micro-42 - New York, NY, United States
Duration: 12 Dec 200916 Dec 2009

Keywords

  • Multi-processor replay
  • Shared-memory dependencies
  • SMT solver

Fingerprint

Dive into the research topics of 'Offline symbolic analysis for multi-processor execution replay'. Together they form a unique fingerprint.

Cite this