Di-DyMeLoR: Logging only Dirty Chunks for Efficient Management of Dynamic Memory Based Optimistic Simulation Objects

Alessandro Pellegrini, Roberto Vitali, and Francesco Quaglia


Published in: Proceedings of the 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation
pdf Download PDF

Abstract:
A recent work has presented the design and implementation of a software library, named DyMeLoR, supporting transparent log/restore facilities for optimistic simulation objects with generic memory layout. This library offers the possibility to allocate/deallocate memory chunks via standard API, and performs log/restore of the object state via pack/unpack techniques,exploiting ad-hoc meta-data concisely identifying the object state layout at each point in simulation time. In this paper we complement such a library with a software architecture offering the following additional advantages: (i) run-time identification of chunk updates within the dynamic memory map,(ii) reduced checkpoint latency and increased effectiveness in memory usage thanks to log/restore facilities based on (periodic) snapshots of the whole simulation object state, taken via the incremental copy of the modified (dirty) chunks only.Our approach is based on software instrumentation techniques (suited for LINUX and the ELF format), targeting memory update references performed by the application level software, and on a lightweight run-time monitoring mechanism providing minimal overhead while tracking the exact memory addresses and the size of memory areas dirtied by the execution of each event. Also,our design has been oriented to portability across 32-bit and 64-bit Intel compliant architectures, thus covering a wide spectrum of off-the-shelf machines.

BibTeX Entry:

@inproceedings{Pell09,
author = {Pellegrini, Alessandro and Vitali, Roberto and Quaglia, Francesco},
booktitle = {Proceedings of the 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation},
title = {{Di-DyMeLoR}: Logging only Dirty Chunks for Efficient Management of Dynamic Memory Based Optimistic Simulation Objects},
year = {2009},
note = {Candidate for (but not winner of) the Best Paper Award},
pages = {45--53},
publisher = {IEEE Computer Society},
series = {PADS},
doi = {10.1109/PADS.2009.24},
isbn = {978-0-7695-3713-9},
location = {Lake Placid, NY, USA}
}