ACM Transactions on Programming Languages and Systems (TOPLAS)
The annotated C++ reference manual
The annotated C++ reference manual
Parallel discrete event simulation
Communications of the ACM - Special issue on simulation
Time warp on a shared memory multiprocessor
Transactions of the Society for Computer Simulation International
Selecting the checkpoint interval in time warp simulation
PADS '93 Proceedings of the seventh workshop on Parallel and distributed simulation
Cost of state saving & rollback
PADS '94 Proceedings of the eighth workshop on Parallel and distributed simulation
Adaptive checkpointing in Time Warp
PADS '94 Proceedings of the eighth workshop on Parallel and distributed simulation
Effects of the checkpoint interval on time and space in time warp
ACM Transactions on Modeling and Computer Simulation (TOMACS)
The treatment of state in optimistic systems
PADS '95 Proceedings of the ninth workshop on Parallel and distributed simulation
Comparative analysis of periodic state saving techniques in time warp simulators
PADS '95 Proceedings of the ninth workshop on Parallel and distributed simulation
SimKit: a high performance logical process simulation class library in C++
WSC '95 Proceedings of the 27th conference on Winter simulation
A high fidelity ATM traffic and network simulator
WSC '95 Proceedings of the 27th conference on Winter simulation
Incremental state saving in SPEEDES using C++
WSC '93 Proceedings of the 25th conference on Winter simulation
Checkpoint and recovery methods in the ParaSol simulation system
Proceedings of the 29th conference on Winter simulation
Multiplexed state saving for bounded rollback
Proceedings of the 29th conference on Winter simulation
Hi-index | 0.00 |
One of the greatest challenges in making optimistic synchronization techniques such as Time Warp practical tools is making state saving efficient and easy to use. State saving is necessary so that when optimistic execution is found to be out of order, rollback can be used to recover an earlier execution state. Previous work has shown that the most robust and efficient technique for saving state is to incrementally save copies of small parts of the state at the point that they are modified. Unfortunately, this requires sig nificant programmer intervention to insert additional code. In this paper, C++ language extensions for trans parent incremental state saving are presented. Operator overloading and type parameterization are used to incrementally save basic data types. Building on this, two new type-specifiers, "recover" and "nourecover" are described. They allow a single declaration to specify, for example, that all the member variables of a class are to be state saved, and for all the resulting state saving calls to be automatically generated. Issues, including how these specifiers interact with class inheritance and function declarations are examined and solved.