Master's Thesis Defense: Byte-code Transformation for Incremental State Saving in Optimistic Discrete Event Simulation
Optimistic discrete event simulation is a technique for improving simulation performance by allowing sequential events to be processed asynchronously. In order to maintain the sequential semantics of the simulation, the framework must be able to roll back events whenever it discovers they have been processed out of order. Retroﬁtting check- point and rollback semantics into existing code is a time consuming and error prone process. We present an automatic approach for sup- porting checkpoint and rollback using incremental state saving with an arbitrary number of checkpoints. Through the use of Java byte-code instrumentation, we show that this support can be added to existing software without modiﬁcation to the source code, compiler, or virtual machine. We measure the steady-state performance of our approach in a statistically rigorous fashion. Our results show that our approach compares favorably with code that was manually engineered for state saving in terms of run-time overhead.