skip to main content
article
Free Access

How to integrate shared variables in distributed simulation

Published:01 September 1995Publication History
Skip Abstract Section

Abstract

Although users may want to employ shared variables when they program distributed simulation applications, almost none of the currently existing distributed simulation systems does offer this facility. In this paper, we systematically present new algorithms which provide consistent shared variables for distributed simulation applications. Basically, our approach combines known techniques to realize distributed shared memory with simulation algorithms. As there are essentially two classes of distributed simulation algorithms---conservative and optimistic---we study shared variable algorithms for both of them and propose five new algorithms. Initial performance measurements of a prototype implementation are described. Potential performance degradation by the usage of shared variables is expected to depend to a high degree on the access behavior of the simulation application. Having the abstraction of shared variables available provides the user with a simple concept to design distributed simulation applications in the presence of inherent global data.

References

  1. H. E. Bal and M. F. Kaashoek. Data distribution in ORCA through compiler optimization. Technical Report IR254, University of Amsterdam, 1991.Google ScholarGoogle Scholar
  2. S. Bellenot. State skipping performance with the time warp operating system. Proceedings of the 6th Workshop on Parallel and Distributed Simulation (PADS92), (Newport Beach, California, January 20-22), SCS, pp. 53--61, 1992.Google ScholarGoogle Scholar
  3. J. B. Carter, J. K. Bennett, and W. Zwaenepoel. Implementation and performance of MUNIN. Technical Report TR91-150, Department of Computer Science, Rice University, 1991.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. M. Chandy and J. Misra. Distributed simulation: A case study in design and verification of distributed programs. IEEE Transactions on Software Engineering SE 5:5, pp. 440--452, 1979.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Conklin, J. Cleary, and B. Unger. The sharks world--a study in distributed simulation design. Proceedings of the SCS Multiconference on Distributed Simulation, (San Diego, California, January I7-19), pp. 157--160, 1990.Google ScholarGoogle Scholar
  6. R. M. Fujimoto. Lookahead in parallel discrete event simulation. Proceedings of the International Conference on Parallel Processing, pp. 34--41, 1988.Google ScholarGoogle Scholar
  7. R. M. Fujimoto. The virtual time machine. University of Utah, Salt Lake City, Technical Report UUCS-88-019, 1989.Google ScholarGoogle Scholar
  8. R. M. Fujimoto. Parallel discrete event simulation. Communications of the ACM 33:10, pp. 30--53, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. M. Fujimoto, J. J. Tsai, and G. C. Gopalakrishnan. Design and evaluation of the rollback chip: Special purpose hardware for time warp. Technical Report UUCS-88-011, Department of Computer Science, University of Utah, 1988.Google ScholarGoogle Scholar
  10. A. Gafni. Rollback mechanisms for optimistic distributed simulation systems. Proceedings of the 1988 Distributed Simulation Conference, (San Diego, California, February 3-5), SCS, pp. 61--67, 1988.Google ScholarGoogle Scholar
  11. B. Gates and J. Marti. An empirical study of time warp request mechanisms. Proceedings of the Distributed Simulation Conference (San Diego, California, Feb. 3-5), SCS, pp. 73--80, 1988.Google ScholarGoogle Scholar
  12. K. Ghosh and R. M. Fujimoto. Parallel discrete event simulation using space-time memory. International Conference on Parallel Processing, pp. III:201--208, 1991.Google ScholarGoogle Scholar
  13. J. B. Gilmer and J. P. Hong. Replicated state space approach for parallel simulation. Proceedings of the Winter Simulation Conference, pp. 430--434, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Jefferson. Virtual time. ACM Transactions on Programming Languages and Systems 7:3, pp. 404--425, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Jefferson. Virtual time II: Storage management in distributed simulation. Proceedings of the Annual Symposium on Principles of Distributed Computing, (Quebec, Canada, August 22-24), pp. 75--89, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. R. Jefferson, B. Beckmann, F. Wieland, L. Blume, M. Diloreto, P. Houtalas, P. Laroche, K. Sturedevant, J. Typman, L. Van Warren, J. Wedel, H. Younger, and S. Bellenot. Distributed simulation and the time warp operating system. Proceedings of the 11th ACM Symposium on Operating Systems Principles, pp. 77--93, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. W. Jones. Concurrent simulation: An alternative to distributed simulation. Proceedings of the Winter Simulation Conference, pp. 417--423, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. W. Jones, C. C. Chou, D. Renk, and S. C. Bruell. Experience with concurrent simulation. Proceedings of the Winter Simulation Conference, pp. 756--764, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. I. Leivent and R. J. Watro. Mathematical foundations for time warp systems. ACM Transactions on Programming Languages and Systems 15:5, pp. 771-794, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. Lin and B. Preiss. Optimal memory management for time warp parallel simulation. ACM Transactions on Modeling and Computer Simulation, 1:4, pp. 283--307, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. B. Lin and E. D. Lazowska. Reducing the state saving overhead for time warp parallel simulation. Technical Report 90-02-03, University of Washington, Seattle, 1990.Google ScholarGoogle Scholar
  22. B. Lubachevsky. Simulating colliding rigid disks in parallel using bounded lag without time warp. Proceedings of the SCS Multiconference on Distributed Simulation, (San Diego, California, January 17-19), pp. 194--202, 1990.Google ScholarGoogle Scholar
  23. B. Lubachevsky, A. Weiss, and A. Shwartz. An analysis of rollback-based simulation. ACM Transactions on Modeling and Computer Simulation 1:2, pp. 154--193, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. B. D. Lubachevsky. Simulating billiards: Serially and in parallel. International Jounal in Computer Simulation 2:4, pp. 373--411, 1992.Google ScholarGoogle Scholar
  25. V. K. Madisetti, D. A. Hardaker, and R. M. Fujimoto. The MIMDIX operating system for parallel simulation. Proceedings of the 6th Workshop on Parallel and Distributed Simulation (PADS92), (Newport Beach, California, January 20-22), SCS, pp. 65--74, 1992.Google ScholarGoogle Scholar
  26. F. Mattern. Efficient algorithms for distributed snapshots and global virtual time approximation. Journal of Parallel and Distributed Computing 18, pp. 423--434, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. H. Mehl. Breaking ties deterministically in distributed simulation schemes. Technical Report 217/91, Department of Computer Science, University of Kaiserslautern, Fed. Rep. of Germany (December), 1991.Google ScholarGoogle Scholar
  28. H. Mehl. Speed-up of conservative distributed discrete event simulation methods by speculative computing. Proceedings of the SCS Multiconference on Advances in Parallel and Distributed Simulation, (Anaheim, California, January 23-25), Simulation Series 23:1, Eds.: V. Madisetti, D. Nicol, R. Fujimoto, pp. 163--166, 1991.Google ScholarGoogle Scholar
  29. H. Mehl. Distributed shared memory: A survey. Technical Report SFB124-33/92, Department of Computer Science, University of Kaiserslautern, Fed. Rep. of Germany, 1992.Google ScholarGoogle Scholar
  30. H. Mehl. The distributed simulation language DSL---language description (in German). In Preparation: Technical Report, Department of Computer Science, University of Kaiserslautern, 1994.Google ScholarGoogle Scholar
  31. H. Mehl. Distributed simulation methods (in German). Vieweg-Verlag, Wiesbaden, Germany, 1994.Google ScholarGoogle Scholar
  32. H. Mehl and S. Hammes. How to integrate shared variables in distributed simulation. Technical Report SFB124-32/92, Department of Computer Science, University of Kaiserslautern, Fed. Rep. of Germany, 1992.Google ScholarGoogle Scholar
  33. J. Misra. Distributed discrete-event simulation. Computing Surveys 18:1, pp. 39--65, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. D. M. Nicol and S. E. Riffe. A "conservative" approach to parallelizing the sharks world simulation. Proceedings of the Winter Simulation Conference, (New Orleans, Louisiana, December 9-12), pp. 186--190, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. B. Nitzberg and V. Lo. Distributed shared memory: A survey of issues and algorithms. IEEE Computer, (August), pp. 52--60, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. A. Prakash and R. Subramanian. An efficient optimistic distributed simulation scheme based on conditional knowledge. Proceedings of the 6th Workshop on Parallel and Distributed Simulation (PADS92), (Newport Beach, California, January 20-22), SCS, pp. 85--94, 1992.Google ScholarGoogle Scholar
  37. B. R. Preiss, D. I. MacIntyre, and W. M. Loucks. On the trade-off between time and space in optimistic parallel discrete-event simulation. Proceedings of the 6th Workshop on Parallel and Distributed Simulation (PADS92), (Newport Beach, California, January 20-22), SCS, pp. 33--42, 1992.Google ScholarGoogle Scholar
  38. P. Reiher. Private communication. 1993.Google ScholarGoogle Scholar
  39. P. L. Reiher, R. M. Fujimoto, S. Bellenot, and D. R. Jefferson. Cancellation strategies in optimistic execution systems. Proceedings of the SCS Multiconference on Distributed Simulation 22:1, pp. 112--121, 1990.Google ScholarGoogle Scholar
  40. R. Righter and J. Walrand. Distributed simulation of discrete event systems. Proceedings of the IEEE, 77:1, pp. 99--113, 1989.Google ScholarGoogle ScholarCross RefCross Ref
  41. L. Sokol, B. K. Stucky, and V. S. Hwang. MTW: A control mechanism for parallel discrete simulation. International Conference on Parallel Processing, pp. 250--254, 1989.Google ScholarGoogle Scholar
  42. L. M. Sokol, J. B. Weissman, and P. A. Mutchler. MTW: An empirical performance study. Technical Report, The MITRE Corporation, Washington AI Center, McLean VA 22102, 1990.Google ScholarGoogle Scholar
  43. M. Stumm and S. Zhou. Algorithms implementing distributed shared memory. IEEE Computer (May), pp. 54--64, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. F. Wieland, L. Hawley, and L. Blume. An empirical study of data partitioning and replication in parallel simulation. Proceedings of the Distributed Memory Computing Conference, (Charleston, SC, April 8-12), pp. 915--921, 1990.Google ScholarGoogle ScholarCross RefCross Ref
  45. F. Wieland and D. Jefferson. Case studies in serial and parallel simulation. International Conference on Parallel Processing, pp. 255--258, 1989.Google ScholarGoogle Scholar

Index Terms

  1. How to integrate shared variables in distributed 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