An Approach for Incorporating Rollback through Perfectly Reversible Computation in a Stream Simulator

The traditional rollback mechanism deployed in optimistic simulation is state-saving. More recently, the method of reverse computation has been proposed to reduce the amount of memory consumed by state-saving. This method computes the reverse code for the model during rollback execution, rather than recalling saved state memory. In practice, this method has been shown to offer memory-efficiency without sacrificing computational efficiency. In order to support reverse codes in the model, events must continue to be preserved in the system until fossil collection can be performed. In this paper we define a new algorithm to support perfectly reversible model computation that does not depend on storing the full processed event history. This approach improves memory consumption, further supporting large-scale simulation.

[1]  Murat Yuksel,et al.  Large-scale network simulation techniques: examples of TCP and OSPF models , 2003, CCRV.

[2]  Richard M. Fujimoto,et al.  Using reverse circuit execution for efficient parallel simulation of logic circuits , 2003, SPIE Optics + Photonics.

[3]  Christopher D. Carothers,et al.  Eliminating Remote Message Passing in Optimistic Simulation , 2006, Proceedings of the 2006 Winter Simulation Conference.

[4]  21st International Workshop on Principles of Advanced and Distributed Simulation, PADS'07, San Diego, California, USA, June 12-15, 2007 , 2007, PADS.

[5]  Fabian Gomes,et al.  Optimizing incremental state-saving and restoration , 1996 .

[6]  Yi-Bing Lin,et al.  Selecting the checkpoint interval in time warp simulation , 1993, PADS '93.

[7]  Rajib Mall,et al.  Reverse execution of programs , 1999, SIGP.

[8]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[9]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[10]  Stephen John Turner,et al.  Batch based cancellation: a rollback optimal cancellation scheme in time warp simulations , 2004, 18th Workshop on Parallel and Distributed Simulation, 2004. PADS 2004..

[11]  Kalyan S. Perumalla,et al.  /spl mu/sik - a micro-kernel for parallel/distributed simulation systems , 2005, Workshop on Principles of Advanced and Distributed Simulation (PADS'05).

[12]  Yi-Bing Lin,et al.  Optimal memory management for time warp parallel simulation , 1991, TOMC.

[13]  Carl Tropper,et al.  Scalable Clustered Time Warp and Logic Simulation , 1999, VLSI Design.

[14]  Andreas Griewank,et al.  Algorithm 755: ADOL-C: a package for the automatic differentiation of algorithms written in C/C++ , 1996, TOMS.

[15]  Christopher D. Carothers,et al.  ROSS: a high-performance, low memory, modular time warp system , 2000, PADS '00.

[16]  Lei Qian,et al.  Thermodynamics of Computation , 2009, Encyclopedia of Complexity and Systems Science.

[17]  Christopher D. Carothers,et al.  ROSS: a high-performance, low memory, modular time warp system , 2000, Proceedings Fourteenth Workshop on Parallel and Distributed Simulation.

[18]  Boleslaw K. Szymanski,et al.  Four types of lookback , 2003, Seventeenth Workshop on Parallel and Distributed Simulation, 2003. (PADS 2003). Proceedings..

[19]  Christopher D. Carothers,et al.  Large-scale TCP models using optimistic parallel simulation , 2003, Seventeenth Workshop on Parallel and Distributed Simulation, 2003. (PADS 2003). Proceedings..

[20]  Carl Tropper,et al.  Event reconstruction in time warp , 2004, 18th Workshop on Parallel and Distributed Simulation, 2004. PADS 2004..

[21]  Richard M. Fujimoto,et al.  GTW: a time warp system for shared memory multiprocessors , 1994, Proceedings of Winter Simulation Conference.

[22]  Francesco Quaglia,et al.  Fast-software-checkpointing in optimistic simulation: embedding state saving into the event routine instructions , 1999, Proceedings Thirteenth Workshop on Parallel and Distributed Simulation. PADS 99. (Cat. No.PR00155).

[23]  Richard M. Fujimoto,et al.  Optimistic Simulations of Physical Systems Using Reverse Computation , 2006, Simul..

[24]  Pierre L'Ecuyer,et al.  A random number generator based on the combination of four LCGs , 1997 .

[25]  J. Grimm,et al.  Optimal Time and Minimum Space-Time Product for Reversing a Certain Class of Programs , 1996 .

[26]  Christopher D. Carothers,et al.  Efficient optimistic parallel simulations using reverse computation , 1999, Workshop on Parallel and Distributed Simulation.

[27]  R. Landauer,et al.  Irreversibility and heat generation in the computing process , 1961, IBM J. Res. Dev..

[28]  Michael P. Frank,et al.  Reversibility for efficient computing , 1999 .

[29]  Murat Yuksel,et al.  A Case Study in Understanding OSPF and BGP Interactions Using Efficient Experiment Design , 2006, 20th Workshop on Principles of Advanced and Distributed Simulation (PADS'06).

[30]  George B. Leeman A formal approach to undo operations in programming languages , 1986, TOPL.

[31]  John von Neumann,et al.  Theory Of Self Reproducing Automata , 1967 .

[32]  Charles H. Bennett,et al.  The thermodynamics of computation—a review , 1982 .