ECE: Electrical & Computer Engineering
ECE News

CESCA Seminar Talk: “Holistic System Design for Deterministic Replay"

2:30 PM on Friday, February 7, 2014
Location: Lavery Hall 320

by Prof. Dongyoon Lee, CS Department, Virginia Tech.


A deterministic replay system that records and reproduces the execution of parallel programs can serve as a foundation for building many useful tools (e.g., time-travel debugger, fault tolerance system, etc.) by overcoming the inherent non-determinism in multiprocessor systems. While it is well known how to replay uniprocessor systems, it is much harder to provide deterministic replay of shared memory multithreaded programs on multiprocessors because shared memory accesses add a high-frequency source of non-determinism.

I introduce a new insight to deterministic replay that it is sufficient for many replay uses to guarantee only the same output and the final states between the recorded and replayed executions, and thus it is possible to support replay without logging precise shared-memory dependencies. I call this relaxed but sufficient replay guarantee "external determinism" and leverage this observation to build efficient multiprocessor replay systems. In this talk, I will introduce two replay systems: Respec and Rosa. Respec enables software-only deterministic replay at low overhead with operating system support. Rosa provides an ultra-low overhead replay solution with minimal hardware extension.


Dongyoon Lee is an Assistant Professor in the Computer Science department at Virginia Tech. He received the M.S. and Ph.D. degrees in Computer Science and Engineering at the University of Michigan, Ann Arbor under the guidance of Prof. Satish Narayanasamy; and the B.S. degree in Electrical Engineering from the Seoul National University in Korea. Before joining VT, he worked as an academic visitor at IBM T. J. Watson Research Center. He also interned at Microsoft Research - Redmond; and at NEC Laboratories America. He has been awarded VMWare 2012 Graduate Fellowship, the best paper at ASPLOS 2011, and the grand prize in embedded software contest held in Korea.

(Previous CESCA Seminar talks are available at