Skip to main navigation Skip to search Skip to main content

Offline symbolic analysis for multi-processor execution replay

  • Dongyoon Lee
  • , Mahmoud Said
  • , Satish Narayanasamy
  • , Zijiang Yang
  • , Cristiano Pereira
  • Western Michigan University
  • University of Michigan, Ann Arbor
  • Intel

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: Dec 12 2009Dec 16 2009

Keywords

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

Fingerprint

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

Cite this