Transparently Mixing Undo Logs and Software Reversibility for State Recovery in Optimistic PDES

Davide Cingolani, Alessandro Pellegrini, and Francesco Quaglia


Published in: Proceedings of the 2015 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation
pdf Download PDF

Abstract:
The rollback operation is a fundamental building block to support the correct execution of a speculative Time Warp-based Parallel Discrete Event Simulation. In the literature, several solutions to reduce the execution cost of this operation have been proposed, either based on the creation of a checkpoint of previous simulation state images, or on the execution of negative copies of simulation events which are able to undo the updates on the state. In this paper, we explore the practical design and implementation of a state recoverability technique which allows to restore a previous simulation state either relying on checkpointing or on the reverse execution of the state updates occurred while processing events in forward mode. Differently from other proposals, we address the issue of executing backward updates in a fully-transparent and event granularity-independent way, by relying on static software instrumentation (targeting the x86 architecture and Linux systems) to generate at runtime reverse update code blocks (not to be confused with reverse events, proper of the reverse computing approach). These are able to undo the effects of a forward execution while minimizing the cost of the undo operation. We also present experimental results related to our implementation, which is released as free software and fully integrated into the open source ROOT-Sim (ROme OpTimistic Simulator) package. The experimental data support the viability and effectiveness of our proposal.

BibTeX Entry:

@inproceedings{Cin15,
author = {Cingolani, Davide and Pellegrini, Alessandro and Quaglia, Francesco},
booktitle = {Proceedings of the 2015 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation},
title = {Transparently Mixing Undo Logs and Software Reversibility for State Recovery in Optimistic PDES},
year = {2015},
month = jun,
pages = {211--222},
publisher = {ACM},
series = {PADS},
doi = {10.1145/2769458.2769482},
location = {London, UK},
name = {pads15m}
}