Abstract
Algorithms for synchronization of parallel discrete event simulation have historically been divided between conservative methods that require lookahead but not rollback, and optimistic methods that require rollback but not lookahead. In this paper we present a new approach in the form of a framework called Unified Virtual Time (UVT) that unifies the two approaches, combining the advantages of both within a single synchronization theory. Whenever timely lookahead information is available, a logical process (LP) executes conservatively using an irreversible event handler. When lookahead information is not available the LP does not block, as it would in a classical conservative execution, but instead executes optimistically using a reversible event handler. The switch from conservative to optimistic synchronization and back is decided on an event-by-event basis by the simulator, transparently to the model code. UVT treats conservative synchronization algorithms as optional accelerators for an underlying optimistic synchronization algorithm, enabling the speed of conservative execution whenever it is applicable, but otherwise falling back on the generality of optimistic execution.
We describe UVT in a novel way, based on fundamental invariants, monotonicity requirements, and synchronization rules. UVT permits zero-delay messages and pays careful attention to tie-handling using superposition. We prove that under fairly general conditions a UVT simulation always makes progress in virtual time.
This is Part 1 of a trio of papers describing the UVT framework for PDES, mixing conservative and optimistic synchronization and integrating throttling control.
- 1991. A unifying framework for distributed simulation. ACM Transactions on Modeling and Computer Simulation 1, 4 (1991), 348–385.Google ScholarDigital Library .
- 1973. Logical reversibility of computation. IBM Journal of Research and Development 17, 6 (1973), 525–532.Google ScholarDigital Library .
- 1985. Critical path analysis of distributed simulation. In Proceedings of the 1985 SCS Conference on Distributed Simulation, San Diego, CA.Google Scholar .
- 1986. Performance Evaluation of the Time Warp Distributed Simulation Mechanism. PhD dissertation, Dept, of Computer Science, University of Southern California, Los Angeles, CA.Google Scholar .
- 1977. Simulation of Packet Communication Architecture Computer Systems. M.I.T. MS thesis, MIT/LCS/TR-188.Google Scholar .
- 1999. Efficient optimistic parallel simulations using reverse computation. ACM Transactions on Modeling and Computer Simulation (TOMACS) 9, 3 (1999), 224–253.Google ScholarDigital Library .
- 2010. On deciding between conservative and optimistic approaches on massively parallel platforms. In Proc. of the 2010 Winter Simulation Conference, Edited by B. Johansson, S. Jain, J. Montoya-Torres, J. Hugan, and E. Yücesan, 678–687.Google Scholar .
- 1979. Distributed simulation: A case study in design and verification of distributed programs. IEEE Trans. on Software Engineering, SE-5:440–452.Google ScholarDigital Library .
- 1989. Space-time and simulation. Distributed Simulation 1989, the Society for Computer Simulation. University of Southern California Information Sciences Institute ISI Reprint Series #238.Google Scholar .
- 2017. Transparently mixing undo logs and software reversibility for state recovery in optimistic PDES. ACM Transactions on Modeling and Computer Simulation (TOMACS) 27, 2 (2017).Google ScholarDigital Library .
- 2014. FNCS: A framework for power system and communication networks co-simulation. In Proceedings of the Symposium on Theory of Modeling & Simulation - DEVS Integrative (DEVS'14). Society for Computer Simulation International, San Diego, CA, USA, Article
36 (2014), 8.Google Scholar . - 1995. Comparative analysis of periodic state saving techniques in time warp simulators. Proceedings of the 9th Workshop on Parallel and Distributed Simulation (PADS).Google ScholarCross Ref .
- 2017. Foundations of generalized reversible computing. 9th Conference on Reversible Computation (RC17), Kolkata, India, (2017).Google ScholarCross Ref .
- 1997. Computing global virtual time in shared memory multiprocessors. ACM Transactions on Modeling and Computer Simulation, (TOMACS) 7, 4 (1997), 425—446.Google ScholarDigital Library .
- 1998. Time management in the high-level architecture. Simulation 71, 6 (1998), 388–400.Google ScholarCross Ref .
- 2000. Parallel and Distributed Simulation Systems. New York: John Wiley & Sons, Wiley InterScience.Google ScholarDigital Library .
- 1996. Optimizing Incremental State Saving and Restoration. PhD Dissertation, University of Calgary, Calgary, Alberta (1996).Google Scholar .
- 1978. Communicating sequential processes. Communications of the Association for Computing Machinery (CACM) 21 (1978), 8.Google ScholarDigital Library .
- 2017. Towards a fully non-blocking share-everything PDES platform. 2017 IEEE/ACM 21st International Symposium on Distributed Simulation and Real Time Applications (DS-RT). Rome, 1–8.
DOI: Google ScholarCross Ref . - 1982. Fast concurrent simulation using the time warp mechanism. Part I: Local Control”, Rand Note N-1906-AF, The Rand Corporation, Santa Monica, CA.Google Scholar .
- 1985. Virtual Time. ACM Transactions on Programming Languages and Systems (TOPLAS) 7, 3 (1985), 404–425.Google ScholarDigital Library .
- 1987. Distributed simulation and the time warp operating system. Proceedings of the ACM Symposium on Operating System Principles (SOSP), 77–93.Google Scholar .
- 1990. Virtual Time II: Storage management in conservative and optimistic systems. Proceedings of the ACM Symposium on the Principles of Distributed Computing, Quebec City, Quebec, (1990).Google Scholar .
- 1991. Supercritical speedup. In Proc. of the 24th Annual Simulation Symposium, IEEE Computer Society Press, Rutan, A. H. (ed.), New Orleans, LA, (1991), 159–168.Google ScholarCross Ref .
- 2017. Virtual Time III: Unified virtual time. Proc. of the 2017 Winter Simulation Conference, (W. K. V. Chan, A. D'Ambrogio, G. Zacharewicz, N. Mustafee, G. Wainer, E. Page eds.), Las Vegas, NV, (2017).Google Scholar .
- 2022. Virtual Time III, Part 2: Combining conservative and optimistic synchronization. Submitted.Google Scholar .
- 2020c. Throttling and Message Cancellation. Submitted.Google Scholar .
- 1994. A unified framework for conservative and optimistic distributed simulation. In Proceedings of the 8th Workshop on Parallel and Distributed Simulation (PADS’94). New York: ACM SIGSIM Simulation Digest 24, 1 (1994), 12–19.Google ScholarDigital Library .
- 1993. http://charm.cs.illinois.edu.Google Scholar
- 1961. Irreversibility and heat generation in the computing process. IBM Journal of Research and Development 5, 3 (1961), 183–191.Google ScholarDigital Library .
- 1990. Determining the global virtual time in a distributed simulation. In Proc. of the 19th International Conference on Parallel Processing, 201–209.Google Scholar .
- 1991a. A study of time warp rollback mechanisms. ACM Transactions on Modeling and Simulation (TOMACS) 1, 1 (1991), 51–72.Google ScholarDigital Library .
- 1991b. Optimal memory management for time warp parallel simulation. ACM Transactions on Modeling and Simulation (TOMACS) 1, 4 (1991), 283–307.Google ScholarDigital Library .
- 1993. Selecting the checkpoint interval in time warp simulations. Proc. of the 7th Workshop on Parallel and Distributed Simulation.Google ScholarDigital Library .
- 1989. Rollback sometimes works … if filtered (abstract). In Proceedings of the 21st Winter Simulation Conference Edited by E. A. MacNair, K. J. Musselman, P. Heidelberger, New York: ACM 630–639.Google Scholar .
- 2016. A lock-free o(1) event pool and its application to share-everything PDES platforms. In Proceedings of the IEEE/ACM Symposium on Distributed Simulation and Real Time Applications (DS-RT) 53–68.Google Scholar .
- MPI Forum, 1994-present. https://www.mpi-forum.org.Google Scholar
- 1993. The cost of conservative synchronization in parallel discrete event simulations. Journal of the Association for Computing Machinery 40, 2 (1993), 304–333.Google ScholarDigital Library .
- 2020. Toward a theory of superdense time in simulation models. ACM Transactions on Modeling and Simulation (TOMACS) 30, 3 (2020).Google Scholar .
- 2017. A fine-grain time-sharing time warp system. ACM Transactions on Modeling and Simulation (TOMACS) 27, 2 (2017).Google Scholar .
- 2019. Cross-state events - a new approach to parallel discrete event simulation and its speculative runtime support. Journal of Parallel and Distributed Computing 132 (2019), 48–68.Google ScholarDigital Library .
- 2005. μsik – a micro-kernel for parallel/distributed simulation systems. In Proceedings of the 19th Workshop on Principles of Advanced and Distributed Simulation. Washington, D.C.: IEEE Computer Society, 59–68.Google ScholarDigital Library .
- 2001. A cost model for selecting checkpoint positions in time warp parallel simulation. IEEE Trans. on Parallel and Distributed Systems 12, 4 (2001), 346–362.Google ScholarDigital Library .
- 1993. The local time warp approach to parallel simulation. PADS’93 Proceedings of the Seventh Workshop on Parallel and Distributed Simulation, San Diego, CA, 119–126.Google ScholarDigital Library .
- 1990a. Cancellation strategies in optimistic execution systems. Proceedings of the SCS Multiconference on Distributed Simulation. 112–121.Google Scholar .
- 1988. A spectrum of options for parallel simulation. In Proceedings of the 1988 Winter Simulation Conference, M. Abrams, P. Haigh, and J. Comfort (eds).Google Scholar .
- 1996. A comparative study of state saving mechanisms for time warp synchronized parallel discrete event simulation. Proceedings of the 29th Annual Simulation Symposium (SS’96), Washington, DC (1996).Google ScholarCross Ref .
- 2012. Transparent optimistic synchronization in the high-level architecture via time-management conversion. ACM Transactions on Modeling and Simulation (TOMACS) 22, 4 (2012), Article
21 .Google Scholar . - 2015. Reverse code generation for parallel discrete event simulation. Proceedings of 7th Conference on Reversible Computation, edited by JeanKrivine and Jean-Bernard Stefani, Switzerland: Springer International 95–110.Google ScholarCross Ref .
- 2016. Automatic generation of reversible c++ code and its performance in a scalable kinetic Monte-Carlo application. In Proceedings of the ACM SIGSIM PADS (Banff, Canada), (2016), 15–18.Google Scholar .
- 1993. Breathing time warp. In Proceedings of the 7th Workshop on Parallel and Distributed Simulation, PADS ‘93, 109–118. San Diego, CA.Google ScholarDigital Library .
- 2005. Optimistic parallel discrete simulation of physical systems using reverse computation. Workshop on Principles of Advanced and Distributed Simulation (PADS’05), Monterey, CA, (2005).Google Scholar .
- 2005. Optimistic synchronization in HLA-based distributed simulation. Simulation 81, 4 (2005).Google ScholarDigital Library .
- 1988. Optimizing Time Warp: Lazy Rollback and Lazy Reevaluation. Master's Thesis, University of Calgary, Calgary, Alberta, Canada, (1988).Google Scholar .
- 1996. Automatic incremental state saving. Proceedings of the 10th Workshop on Parallel and Distributed Simulation, Philadelphia, PA, USA, (1996).Google Scholar .
- 2007. A reversible programming language and its invertible self-interpreter. In Proceedings of the 2007 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-based Program Manipulation (PEPM'07), ACM, New York, NY, USA.Google ScholarDigital Library .
Index Terms
- Virtual Time III, Part 1: Unified Virtual Time Synchronization for Parallel Discrete Event Simulation
Recommendations
Virtual Time III, Part 2: Combining Conservative and Optimistic Synchronization
This is Part 2 of a trio of works intended to provide a unifying framework in which conservative and optimistic synchronization for parallel discrete event simulations can be freely and transparently combined in the same logical process on an event-by-...
Load-Aware Dynamic Time Synchronization in Parallel Discrete Event Simulation
SIGSIM-PADS '21: Proceedings of the 2021 ACM SIGSIM Conference on Principles of Advanced Discrete SimulationTraditional Parallel Discrete Event Simulation (PDES) systems employ a monolithic approach for choosing their thread synchronization protocol. They either implement a Time Window-based conservative synchronization or an optimistic event processing ...
Simultaneous events and lookahead in simulation protocols
A discrete event simulation model may contain several events that have the same timestamp, referred to as simultaneous events. In general, the results of a simulation depend on the order in which simultaneous events are executed. Simulation languages ...
Comments