kirancodes.me
To Proof Maintenance & Beyond!

Efficient Transaction-Based Deterministic Replay for Multi-threaded Programs

Ernest Bota Pobee, Xiupei Mei, Wing Kwong Chan

Abstract

Existing deterministic replay techniques propose strategies which attempt to reduce record log sizes and achieve successful replay. However, these techniques still generate large logs and achieve replay only under certain conditions. We propose a solution based on the division of the sequence of events of each thread into sequential blocks called transactions. Our insight is that there are usually few to no atomicity violations among transactions reported during a program execution. We present TPLAY, a novel deterministic replay technique which records thread access interleavings on shared memory locations at the transactional level. TPLAY also generates an artificial pair of interleavings when an atomicity violation is reported on a transaction. We present an experiment using the Splash2x extension of the PARSEC benchmark suite. Experimental results indicate that TPLAY experiences a 13-fold improvement in record log sizes and achieves a higher replay probability in comparison to existing work.

BibTeX
@inproceedings{Pobee-al:ASE19,
  author    = {Ernest Bota Pobee and
               Xiupei Mei and
               Wing Kwong Chan},
  title     = {Efficient {Transaction-Based} Deterministic Replay for Multi-threaded Programs},
  booktitle = {ASE},
  pages     = {760--771},
  publisher = {{IEEE}},
  year      = {2019},
}

Related papers