skip to main content
research-article

Virtual Time III, Part 1: Unified Virtual Time Synchronization for Parallel Discrete Event Simulation

Published:11 January 2023Publication History
Skip Abstract Section

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.

REFERENCES

  1. Bagrodia R., Chandy K. M., and Liao W. T.. 1991. A unifying framework for distributed simulation. ACM Transactions on Modeling and Computer Simulation 1, 4 (1991), 348385.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bennett C. H.. 1973. Logical reversibility of computation. IBM Journal of Research and Development 17, 6 (1973), 525532.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Berry O. and Jefferson D.. 1985. Critical path analysis of distributed simulation. In Proceedings of the 1985 SCS Conference on Distributed Simulation, San Diego, CA.Google ScholarGoogle Scholar
  4. Berry O.. 1986. Performance Evaluation of the Time Warp Distributed Simulation Mechanism. PhD dissertation, Dept, of Computer Science, University of Southern California, Los Angeles, CA.Google ScholarGoogle Scholar
  5. Bryant R. E.. 1977. Simulation of Packet Communication Architecture Computer Systems. M.I.T. MS thesis, MIT/LCS/TR-188.Google ScholarGoogle Scholar
  6. Carothers C., Perumalla K., and Fujimoto R.. 1999. Efficient optimistic parallel simulations using reverse computation. ACM Transactions on Modeling and Computer Simulation (TOMACS) 9, 3 (1999), 224253.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Carothers C. D. and Perumalla K. S.. 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, 678687.Google ScholarGoogle Scholar
  8. Chandy K. M. and Misra J.. 1979. Distributed simulation: A case study in design and verification of distributed programs. IEEE Trans. on Software Engineering, SE-5:440452.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chandy K. M. and Sherman R.. 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 ScholarGoogle Scholar
  10. Cingolani D., Pellegrini A., and Quaglia F.. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ciraci S., Daily J., Fuller J., Fisher A., Marinovici L., and Agarwal K.. 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 ScholarGoogle Scholar
  12. Fleischmann J. and Wilsey P.. 1995. Comparative analysis of periodic state saving techniques in time warp simulators. Proceedings of the 9th Workshop on Parallel and Distributed Simulation (PADS).Google ScholarGoogle ScholarCross RefCross Ref
  13. Frank M.. 2017. Foundations of generalized reversible computing. 9th Conference on Reversible Computation (RC17), Kolkata, India, (2017).Google ScholarGoogle ScholarCross RefCross Ref
  14. Fujimoto R. M. and Hybinette M.. 1997. Computing global virtual time in shared memory multiprocessors. ACM Transactions on Modeling and Computer Simulation, (TOMACS) 7, 4 (1997), 425—446.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Fujimoto R. M.. 1998. Time management in the high-level architecture. Simulation 71, 6 (1998), 388400.Google ScholarGoogle ScholarCross RefCross Ref
  16. Fujimoto R. M.. 2000. Parallel and Distributed Simulation Systems. New York: John Wiley & Sons, Wiley InterScience.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gomes F. A. F. B.. 1996. Optimizing Incremental State Saving and Restoration. PhD Dissertation, University of Calgary, Calgary, Alberta (1996).Google ScholarGoogle Scholar
  18. Hoare C. A. R.. 1978. Communicating sequential processes. Communications of the Association for Computing Machinery (CACM) 21 (1978), 8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Ianni M., Marotta R., Pellegrini A., and Quaglia F.. 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, 18. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  20. Jefferson D. R. and Sowizral H.. 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 ScholarGoogle Scholar
  21. Jefferson D. R.. 1985. Virtual Time. ACM Transactions on Programming Languages and Systems (TOPLAS) 7, 3 (1985), 404425.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jefferson D. R., Beckman B., Wieland F., Blume L., DiLoreto M., Hontalas P., Laroche P., Sturdevant K., Tupman J., Warren V., Wedel J., Younger H., and Bellenot S.. 1987. Distributed simulation and the time warp operating system. Proceedings of the ACM Symposium on Operating System Principles (SOSP), 7793.Google ScholarGoogle Scholar
  23. Jefferson D. R.. 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 ScholarGoogle Scholar
  24. Jefferson D. R. and Reiher P.. 1991. Supercritical speedup. In Proc. of the 24th Annual Simulation Symposium, IEEE Computer Society Press, Rutan, A. H. (ed.), New Orleans, LA, (1991), 159168.Google ScholarGoogle ScholarCross RefCross Ref
  25. Jefferson D. R. and Barnes P.. 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 ScholarGoogle Scholar
  26. Jefferson D. R. and Barnes P.. 2022. Virtual Time III, Part 2: Combining conservative and optimistic synchronization. Submitted.Google ScholarGoogle Scholar
  27. Jefferson D. R. and Barnes Jr P.. 2020c. Throttling and Message Cancellation. Submitted.Google ScholarGoogle Scholar
  28. Jha V. and Bagrodia R.. 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), 1219.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kalé L. et al. 1993. http://charm.cs.illinois.edu.Google ScholarGoogle Scholar
  30. Landauer R.. 1961. Irreversibility and heat generation in the computing process. IBM Journal of Research and Development 5, 3 (1961), 183191.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Lin Y.-B. and Lazowska E.. 1990. Determining the global virtual time in a distributed simulation. In Proc. of the 19th International Conference on Parallel Processing, 201209.Google ScholarGoogle Scholar
  32. Lin Y.-B. and Lazowska E.. 1991a. A study of time warp rollback mechanisms. ACM Transactions on Modeling and Simulation (TOMACS) 1, 1 (1991), 5172.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Lin Y.-B. and Preiss B.. 1991b. Optimal memory management for time warp parallel simulation. ACM Transactions on Modeling and Simulation (TOMACS) 1, 4 (1991), 283307.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Lin Y.-B., Preiss B., Loucks W., and Lazowska E.. 1993. Selecting the checkpoint interval in time warp simulations. Proc. of the 7th Workshop on Parallel and Distributed Simulation.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Lubachevsky B., Schwartz A., and Weiss A.. 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 630639.Google ScholarGoogle Scholar
  36. Marotta R., Ianni M., Pellegrini A., and Quaglia F.. 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) 5368.Google ScholarGoogle Scholar
  37. MPI Forum, 1994-present. https://www.mpi-forum.org.Google ScholarGoogle Scholar
  38. Nicol D. M.. 1993. The cost of conservative synchronization in parallel discrete event simulations. Journal of the Association for Computing Machinery 40, 2 (1993), 304333.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Nutaro J.. 2020. Toward a theory of superdense time in simulation models. ACM Transactions on Modeling and Simulation (TOMACS) 30, 3 (2020).Google ScholarGoogle Scholar
  40. Pellegrini A. and Quaglia F.. 2017. A fine-grain time-sharing time warp system. ACM Transactions on Modeling and Simulation (TOMACS) 27, 2 (2017).Google ScholarGoogle Scholar
  41. Pellegrini A. and Quaglia F.. 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), 4868.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Perumalla K.. 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, 5968.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Quaglia F.. 2001. A cost model for selecting checkpoint positions in time warp parallel simulation. IEEE Trans. on Parallel and Distributed Systems 12, 4 (2001), 346362.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Rajaei H., Ayani R., and Thorelli L.. 1993. The local time warp approach to parallel simulation. PADS’93 Proceedings of the Seventh Workshop on Parallel and Distributed Simulation, San Diego, CA, 119126.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Reiher R. L., Fujimoto R. M., Bellenot S., and Jefferson D. R.. 1990a. Cancellation strategies in optimistic execution systems. Proceedings of the SCS Multiconference on Distributed Simulation. 112121.Google ScholarGoogle Scholar
  46. Reynolds P. F.. 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 ScholarGoogle Scholar
  47. Rönngren R., Liljenstram M., Ayani R., and Montagnat J.. 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 ScholarGoogle ScholarCross RefCross Ref
  48. Santoro A. and Quaglia F.. 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 ScholarGoogle Scholar
  49. Schordan M., Jefferson D., Barnes P. Jr. T. Oppelstrup, and Quinlan D.. 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 95110.Google ScholarGoogle ScholarCross RefCross Ref
  50. Schordan M., Oppelstrup T., Jefferson D. R., and Barnes P. D.. 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), 1518.Google ScholarGoogle Scholar
  51. Steinman J. S.. 1993. Breathing time warp. In Proceedings of the 7th Workshop on Parallel and Distributed Simulation, PADS ‘93, 109118. San Diego, CA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Tang Y., Perumalla K., Fujimoto R., Karimabadi H., Driscoll J., and Omelchenko Y.. 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 ScholarGoogle Scholar
  53. Wang X., Turner S., Low M., and Gan B.. 2005. Optimistic synchronization in HLA-based distributed simulation. Simulation 81, 4 (2005).Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. West D.. 1988. Optimizing Time Warp: Lazy Rollback and Lazy Reevaluation. Master's Thesis, University of Calgary, Calgary, Alberta, Canada, (1988).Google ScholarGoogle Scholar
  55. West D.. 1996. Automatic incremental state saving. Proceedings of the 10th Workshop on Parallel and Distributed Simulation, Philadelphia, PA, USA, (1996).Google ScholarGoogle Scholar
  56. Yokoyama T. and Glück R.. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Virtual Time III, Part 1: Unified Virtual Time Synchronization for Parallel Discrete Event Simulation

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            Full Text

            View this article in Full Text.

            View Full Text

            HTML Format

            View this article in HTML Format .

            View HTML Format