The Community for Technology Leaders
2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation (2009)
Lake Placid, New York, USA
June 22, 2009 to June 25, 2009
ISSN: 1087-4097
ISBN: 978-0-7695-3713-9
pp: 45-53
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 and64-bit Intel compliant architectures, thus covering a wide spectrum of off-the-shelf machines.
Optimistic simulation, Incremental checkpointing, Performance optimization

R. Vitali, A. Pellegrini and F. Quaglia, "Di-DyMeLoR: Logging only Dirty Chunks for Efficient Management of Dynamic Memory Based Optimistic Simulation Objects," 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation(PADS), Lake Placid, New York, USA, 2009, pp. 45-53.
92 ms
(Ver 3.3 (11022016))