The Time Warp synchronization protocol for Parallel Discrete Event Simulation (PDES) is universally considered as a viable solution to exploit the intrinsic simulation model parallelism and to provide model execution speedup. Yet, it leads the PDES system to execute events in an order which may generate causal inconsistencies that need to be recovered via rollback, which requires restoration of a previous (consistent) simulation state any time a causality violation is detected. The rollback operation is so critical for the performance of a Time Warp system that it has been extensively studied in the literature for decades, to find approaches suitable to optimize it. The proposed solutions can be roughly classified as based on either checkpointing or reverse computing. In this article, we explore the practical design and implementation of a fully new approach based on the runtime generation of so called undo code blocks, which are blocks of instructions implementing the reverse memory side-effects generated by the forward execution of the events. However, this is not done by recomputing the original values to be restored, as instead it occurs in reverse computing schemes. Hence, the philosophy undo code blocks rely on is similar in spirit to that of undo-logs (as a form of checkpointing). Nevertheless, they are not data logs (as instead checkpoints are), rather they are logs of instructions. Our proposal is fully-transparent, thanks to the reliance on static software instrumentation (targeting the x86 architecture and Linux systems). Also, as we show, it can be combined with classical checkpointing, so as to further improve the runtime behavior of the state recoverability support as a function of the workload. We also present experimental results related to our implementation, which is released as free software and fully integrated into the open source ROOT-Sim (The ROme OpTimistic Simulator) package. Experimental data support the viability and effectiveness of our proposal.

Transparently mixing undo logs and software reversibility for state recovery in optimistic PDES / Cingolani, Davide; Pellegrini, Alessandro; Quaglia, Francesco. - In: ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION. - ISSN 1049-3301. - STAMPA. - 27:2(2017), pp. 1-26. [10.1145/3077583]

Transparently mixing undo logs and software reversibility for state recovery in optimistic PDES

Cingolani, Davide;Pellegrini, Alessandro;Quaglia, Francesco
2017

Abstract

The Time Warp synchronization protocol for Parallel Discrete Event Simulation (PDES) is universally considered as a viable solution to exploit the intrinsic simulation model parallelism and to provide model execution speedup. Yet, it leads the PDES system to execute events in an order which may generate causal inconsistencies that need to be recovered via rollback, which requires restoration of a previous (consistent) simulation state any time a causality violation is detected. The rollback operation is so critical for the performance of a Time Warp system that it has been extensively studied in the literature for decades, to find approaches suitable to optimize it. The proposed solutions can be roughly classified as based on either checkpointing or reverse computing. In this article, we explore the practical design and implementation of a fully new approach based on the runtime generation of so called undo code blocks, which are blocks of instructions implementing the reverse memory side-effects generated by the forward execution of the events. However, this is not done by recomputing the original values to be restored, as instead it occurs in reverse computing schemes. Hence, the philosophy undo code blocks rely on is similar in spirit to that of undo-logs (as a form of checkpointing). Nevertheless, they are not data logs (as instead checkpoints are), rather they are logs of instructions. Our proposal is fully-transparent, thanks to the reliance on static software instrumentation (targeting the x86 architecture and Linux systems). Also, as we show, it can be combined with classical checkpointing, so as to further improve the runtime behavior of the state recoverability support as a function of the workload. We also present experimental results related to our implementation, which is released as free software and fully integrated into the open source ROOT-Sim (The ROme OpTimistic Simulator) package. Experimental data support the viability and effectiveness of our proposal.
2017
Optimistic synchronization; Software reversibility; Time warp; Modeling and Simulation; Computer Science Applications1707 Computer Vision and Pattern Recognition
01 Pubblicazione su rivista::01a Articolo in rivista
Transparently mixing undo logs and software reversibility for state recovery in optimistic PDES / Cingolani, Davide; Pellegrini, Alessandro; Quaglia, Francesco. - In: ACM TRANSACTIONS ON MODELING AND COMPUTER SIMULATION. - ISSN 1049-3301. - STAMPA. - 27:2(2017), pp. 1-26. [10.1145/3077583]
File allegati a questo prodotto
File Dimensione Formato  
Cingolani_Postprint_Transparently-Mixing-Undo _2017.pdf

accesso aperto

Note: DOI: http://dx.doi.org/10.1145/3077583
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 710.39 kB
Formato Adobe PDF
710.39 kB Adobe PDF
Cingolani_Transparently-Mixing-Undo _2017.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 835.51 kB
Formato Adobe PDF
835.51 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/1096541
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 25
  • ???jsp.display-item.citation.isi??? 16
social impact