Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Parallel discrete event simulation

Published: 01 October 1990 Publication History
  • Get Citation Alerts
  • Abstract

    Parallel discrete event simulation (PDES), sometimes called distributed simulation, refers to the execution of a single discrete event simulation program on a parallel computer. PDES has attracted a considerable amount of interest in recent years. From a pragmatic standpoint, this interest arises from the fact that large simulations in engineering, computer science, economics, and military applications, to mention a few, consume enormous amounts of time on sequential machines. From an academic point of view, parallel simulation is interesting because it represents a problem domain that often contains substantial amounts of parallelism (e.g., see [59]), yet paradoxically, is surprisingly difficult to parallelize in practice. A sufficiently general solution to the PDES problem may lead to new insights in parallel computation as a whole. Historically, the irregular, data-dependent nature of PDES programs has identified it as an application where vectorization techniques using supercomputer hardware provide little benefit [14].
    A discrete event simulation model assumes the system being simulated only changes state at discrete points in simulated time. The simulation model jumps from one state to another upon the occurrence of an event. For example, a simulator of a store-and-forward communication network might include state variables to indicate the length of message queues, the status of communication links (busy or idle), etc. Typical events might include arrival of a message at some node in the network, forwarding a message to another network node, component failures, etc.
    We are especially concerned with the simulation of asynchronous systems where events are not synchronized by a global clock, but rather, occur at irregular time intervals. For these systems, few simulator events occur at any single point in simulated time; therefore parallelization techniques based on lock-step execution using a global simulation clock perform poorly or require assumptions in the timing model that may compromise the fidelity of the simulation. Concurrent execution of events at different points in simulated time is required, but as we shall soon see, this introduces interesting synchronization problems that are at the heart of the PDES problem.
    This article deals with the execution of a simulation program on a parallel computer by decomposing the simulation application into a set of concurrently executing processes. For completeness, we conclude this section by mentioning other approaches to exploiting parallelism in simulation problems.
    Comfort and Shepard et al. have proposed using dedicated functional units to implement specific sequential simulation functions, (e.g., event list manipulation and random number generation [20, 23, 47]). This method can provide only a limited amount of speedup, however. Zhang, Zeigler, and Concepcion use the hierarchical decomposition of the simulation model to allow an event consisting of several subevents to be processed concurrently [21, 98]. A third alternative is to execute independent, sequential simulation programs on different processors [11, 39]. This replicated trials approach is useful if the simulation is largely stochastic and one is performing long simulation runs to reduce variance, or if one is attempting to simulate a specific simulation problem across a large number of different parameter settings. However, one drawback with this approach is that each processor must contain sufficient memory to hold the entire simulation. Furthermore, this approach is less suitable in a design environment where results of one experiment are used to determine the experiment that should be performed next because one must wait for a sequential execution to be completed before results are obtained.

    References

    [1]
    Abrams, M. The object library for parallel simulation (01~s). In Proceedings of Winter Simulation Conference (December 1988), 210-219.
    [2]
    Agre, J.R. Simulations of time warp distributed simulations. In Proceedings of the SCS Multiconference on Di.- tributed Simulation 21, 2 (March 1989), 85-90.
    [3]
    Ayani, R. A parallel simulation scheme based on the distance between objects. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 113-118.
    [4]
    Ayani, R. and Rajaei, H. Parallel simulation of a generalized cube multistage interconnection network. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 60-63.
    [5]
    Baezner, D., Cleary, J., Lomow, G., and Unger, B. Algorithmic optimizations of simulations on Time Warp. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 73-78.
    [6]
    Bagrodia, R.L., and Liao, W-T. Maisie: A language and optimizing environment for distributed simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 205-210.
    [7]
    Bain, W.L., and Scott, D.S. An algorithm for time synchronization in distributed discrete event simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 30-33.
    [8]
    Ball, D., and Hoyt, S. The adaptive Time-Warp concurrency control algorithm. In Proceedings of the SCS Multiconference on Distributed Simulation 22 1 (January 1990), pp. 174- 177.
    [9]
    Bellenot, S. Global virtual time al- gorithms. In Proceedings of the Multiconference on Distributed Simulation, 22, 1 (January 1990), pp. 122-127.
    [10]
    Berry, 0. Performance evaluation of the Time Warp distributed simulation mechanism. Ph.D. thesis, University of Southern California, May 1986.
    [11]
    Biles, W.E., Daniels, D.M., and O'Donnell, T.J. Statistical considerations in simulation on a network of microcomputers. In Proceedings of 1985 Winter Simulation Conference (December 1985), pp. 388-393.
    [12]
    Bryant, R.E. Simulation of packet communications architecture computer systems. MIT-LCS-TR-188, Massachusetts Institute of Technology, 1977.
    [13]
    Cai, W., and Turner, S.J. An algorithm for distributed discrete-event simulation-the "carrier null message" approach. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 3-8.
    [14]
    Chandak, A., and Browne, J.C. Vectorization of discrete event simulation. In Proceedings of the 1983 International Conference on Parallel Processing (August 1983), pp. 359- 361.
    [15]
    Chandy, K.M., and Misra, J. Distributed simulation: A case study in design and verification of distributed programs. IEEE Trans. on Softtw. Eng. SE-5, 5 (September 1979), 440-452.
    [16]
    Chandy, K.M., and Misra, J. Asynchronous distributed simulation via a sequence of parallel computations. Commun. ACM 24, 11 (November 1981), 198-205.
    [17]
    Chandy, K.M., and Misra, 1. Parallel Program Design, A Foundation. Addison-Wesley, 1988.
    [18]
    Chandy, K.M., and Sherman, R. The conditional event approach to distributed simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 93-99.
    [19]
    Chandy, K.M., and Sherman, R. Space, time, and simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 53-57.
    [20]
    Comfort, J.C. The simulation of a master-slave event set processor. Simulation 42 3 (March 1984), 117- 124.
    [21]
    Conception, A.I. A hierarchical computer architecture for distrib-uted simulation. IEEE Trans. on Comput. C-38, 2 (February 1989), 311-319.
    [22]
    Cota, B.A., and Sargent, R.G. A framework for automatic lookahead computation in conservative distributed simulations. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990) pp. 56-59.
    [23]
    Davis, C.K., Sheppard, S.V., and Lively, W.M. Automatic development of parallel simulation models in Ada. In Proceedings of 1988 Simulation Conference (December 1988), pp. 339-343.
    [24]
    De Vries, R.C. Reducing null messages in Misra's distributed discrete event simulation method. IEEE Trans. on Softw. Eng. 16, 1 (January 1990), 82-91.
    [25]
    Dickens, P.M., Reynolds, Jr., P.F. SRADS with local rollback. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1, (January 1990), pp. 161-164.
    [26]
    Dijkstra, E.W., and Scholten, C.S. Termination detection for diffusing computations. Inf. Proc. Lett. II 1 (August 1980), l-4.
    [27]
    Ebling, M., DiLorento, M., Presley, M., Wieland, F., and Jefferson, D.R. An ant foraging model implemented on the Time Warp Operatihg System. In Proceedings of the SCS Multiconference on Distributed Simulation 22 2 (March 1989), pp. 21-26.
    [28]
    Fujimoto, R.M. Performance measurements of distributed simulation strategies. Trans. Sot. for Cornput. Simul. 6, 2 (April 1989), 89-132.
    [29]
    Fujimoto, R.M. The virtual time machine. International Symfiosium on Parallel Algorithms and Architectures (June 1989), 199-208.
    [30]
    Fujimoto, R.M. Time Warp on a shared memory multiprocessor. Trans. Sot. for Comput. Simul. 6, 3 (July 1989), 21 l-239.
    [31]
    Fujimoto, R.M. Performance of Time Warp under synthetic workloads. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 23-28.
    [32]
    Fujimoto, R.M., Tsai, J., and Gopalakrishnan, G. Design and performance of special purpose hardware for Time Warp. In Proceedings of the 15th Annual Symposium on Computer Architecture (June 1988), pp. 401-408.
    [33]
    Gafni, A. Rollback mechanisms for optimistic distributed simulation systems. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 61-67.
    [34]
    Gates, B., and Marti, J. An empirical study of Time Warp request mechanisms. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 73-80.
    [35]
    Gilmer, J.B. An assessment of Time Warp parallel discrete event simulation algorithm performance. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 45-49.
    [36]
    Groselj, B., and Tropper, C. Pseudosimulation: An algorithm for distributed simulation with limited memory. Internat. Parallel Program. 15, 5 (October 1986), 413-456.
    [37]
    Groselj, B., and Tropper, C. The time of next event algorithm. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 25-29.
    [38]
    Groselj, B., and Tropper, C. A deadlock resolution scheme for distributed simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 21,'2 (March 1989), pp. 108-l 12.
    [39]
    Heidelberger, P. Statistical analysis of parallel simulations. In Proceedings of 1986 Winter Simulation Conference (December 1986), pp. 290- 295.
    [40]
    Hontalas, P., Beckman, B., DiLorento, M., Blume, L., Reiher, P., Sturdevant, K., Van Warren, L., Wedel, J., Wieland, F., and Jefferson, D.R. Performance of the colliding pucks simulation on the Time Warp Operating System. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 3-7.
    [41]
    Jefferson, D.R. Virtual time. ACM Trans. Prog. Lang. and Syst. 7, 3 (July 1985), 404-425.
    [42]
    Jefferson, D.R. Virtual time II:Storage management in distributed simulation. Principles of Distributed Computation. To be published.
    [43]
    Jefferson, D.R., *Beckman, B., Weiland, F., Blume, .L., DiLorento, M., Hontalas, P., Reiher, P., Sturdevant, K., Tupman, J., Wedel, J., and Younger, H. 'The Time Warp Operating System. I lth Symposium on Operating Systems Principles 21, 5 (November 1987), 77-93.
    [44]
    Jefferson, D.R., and Sowizral, H. Fast concurrent simulation using the Time Warp mechanism, part 1: Local control. Tech. Rep. N-1906- AF, RAND Corporation, December 1982.
    [45]
    Jones, D.W. Concurrent simulation: An alternative to distributed simulation. In Proceedirtgs of1 986 Winter Simulation, (December 1986), pp. 417-423.
    [46]
    Jones, D.W., Chou, C-C., Renk, D., and Bruell, S.C. Experience with concurrent simulation. In Proceedings of I989 Winter Simulation Conference (December 1989), pp. 756- 764.
    [47]
    Krishnamurthi, PA., Chandrasekaran, U., and Sheppard, S.V. Two approaches to the implementation of a distributed simulation system. In Proceedings 198.5 Winter Simulation Conference (December 1985), pp. 435-443.
    [48]
    Kumar, D. An approximate method to predict performance of a distributed simulation scheme. In Proceedings of the 1989 International Confer- ence on Parallel Processing 3 (August 1989), 259-262.
    [49]
    Lavenberg, S., and Muntz, R. Performance analysis of a rollback method for distributed simulation. In Performance '83. Elsevier Science Pub., North Holland, 1983, 117- 132.
    [50]
    Leung, E., Cleary, J., Lomow, G., Baezner, D., and Unger, B. The effects of feedback on the perfor- mance of conservative algorithms. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 44-49.
    [51]
    Li, K. and Hudak, P. Memory Coherence in Shared Virtual Memory Systems. ACM Trans. on Computer Systems, 7, 4 (November 1989), pp. 32 l-359.
    [52]
    Lin, Y-B., and Lazowska, E. Deter- mining the global virtual time in a distributed simulation. Tech. Rep. 90-01-02, Dept. OF Computer Sci-ence, University of Washington, Seattle, Washington, 1989.
    [53]
    Lin, Y-B., and Lazowska, E. Exploiting lookahead in parallel simulation. Tech. Rep. 89-10-06, Dept. of Computer Science, University of Washington, Seattle, Washington, 1989.
    [54]
    Lin, Y-B., and Lazowska, E.D. Optimality considerations of "Time Warp" parallel simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 29-34.
    [55]
    Lin, Y-B., Lazowska, E.D., and Baer, J-L. Conservative parallel simulation for systems with no lookahead prediction. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 144-149.
    [56]
    Lin, Y-B., and Lazowska, E. Reducing the state saving overhead for Time Warp parallel simulation. Tech. Rep. 90-02-03, Dept. of Computer Science, University of Washington, Seattle, Washington, February 1990.
    [57]
    Lipton, R.J., and Mizell, D.W. Time Warp vs. Chandy-Misra: A worstcase comparison. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 137-143.
    [58]
    Liu, L.Z., Tropper, C. Local deadlock detection in distributed simulations. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 64-69.
    [59]
    Livny, M. A study of parallelism in distributed simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 15, 2 (January 1985), pp. 94-98.
    [60]
    Lomow, G., Cleary, J., Unger, B., and West, D. A performance study of Time Warp. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 50-55.
    [61]
    Loucks, W.M., and Preiss, B.R. The role of knowledge in distributed simulation. In Proceedings of the SCS Multiconference on Distributed Simulation22, 1 (January 1990), pp. 9-16.
    [62]
    Lubachevsky, B.D. Efficient distributed event-driven simulations of multiple-loop networks. Commun. ACM 32, (January 1989), 111-123.
    [63]
    Lubachevsky, B.D. Scalability of the bounded lag distributed discrete event simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 100-107.
    [64]
    Lubachevsky, B.D., Shwartz, A., and Weiss, A. Rollback sometimes works . . . if filtered. In Proceedings of 1989 Winter Simulation Conference (December 1989), pp. 630-639.
    [65]
    Madisetti, V., Walrand, J., and Messerschmitt, D., Wolf: A rollback algorithm for optimistic distributed simulation systems. In Proceedings of I988 Winter Simulation Conference (December 1988), pp. 296-305.
    [66]
    Madisetti, V., Walrand, J., and Messerschmitt, D. Synchronization in message-passing computersmodels, algorithms, and analysis. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 35-48.
    [67]
    McCormack, W.M., and Sargent, R.G. Analysis of future event set algorithms for discrete event simulation. Commun. ACM 24, (December 1981), 801-812.
    [68]
    Merrifield, B.C., Richardson, S.B., and Roberts, J.B.G. Quantitative studies of discrete event simulation modelling of road traffic. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 188-193.
    [69]
    Misra, J. Distributed-discrete event simulation. ACM Comput. Surv. 18, 1 (March 1986), 39-65.
    [70]
    Mitra, D., and Mitrani, I. Analysis and optimum performance of two message-passing parallel processors synchronized by rollback. In Performance '84, Elsevier Science Pub., North Holland, 1984, 35-50.
    [71]
    Nevison, C. Parallel simulation of manufacturing systems: Structural factors. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 17- 19.
    [72]
    Nicol, D.M. Parallel discrete-event simulation of FCFS stochastic queueing networks. SIGPLAN Not. 23, 9 (September 1988), 124-137.
    [73]
    Nicol, D.M. The cost of conservative synchronization in parallel discrete event simulations. Tech. Rep. 90-20, ICASE, June 1989.
    [74]
    Nicol, D.M. Performance bounds on parallel self-initiating discreteevent simulations. Tech. Rep. 90- 21, ICASE, March 1990.
    [75]
    Nicol, D.M., and Reynolds, P.F., Jr. Problem oriented protocol design. In Proceedings of 1984 Winter Simulation Conference (December 1984), pp. 47 l-474.
    [76]
    Peacock, J.K., Wong, J.W., and Manning, E.G. Distributed simula- tion using a network of processors. Comput. Networks 3, 1 (February 1979), 44-56.
    [77]
    Preiss, B.R. The Yaddes distributed discrete event simulation specification language and execution environments. In Proceedings of the SCS Multiconference orz Distributed Simulation 21, 2 (March 1989) pp. 139- 144.
    [78]
    Presley, M., Ebling, M., Wieland, F., and Jefferson, D.R. Benchmarking the Time Warp Operating System with a computer network simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 8-13.
    [79]
    Puccio, J. A causal discipline for value return under Time Warp. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 171-176.
    [80]
    Reed, D.A., Malony, A.D., and McCredie, B.D. Parallel discrete event simulation using shared memory. IEEE Trans. Softw. Eng. 14, 4 (April 1988), 541-553.
    [81]
    Reiher, P.L. private communication, February 1990.
    [82]
    Reiher, P.L., Fujimoto, R.M., Bellenot, S., and Jefferson, D.R. Cancellation strategies in optimistic execution systems. In Proceedings of the SCS Multiconference on Distributed Simulation 22, 1 (January 1990), pp. 112-121.
    [83]
    Reiher, P.L., Wieland, F., and Jefferson, D.R. Limitation of optimism in the Time Warp Operating System. In Proceedings of 1989 Winter Simulation Conference (December 1989), pp. 765-770.
    [84]
    Reynolds, P.F., Jr. A shared resource algorithm for distributed simulation. In Proceedings of the 9th Annual Symposium on Computer Architecture, 10, 3 (April 1982), 259-266.
    [85]
    Reynolds, P.F., Jr. A spectrum of options for parallel simulation. In Proceedings of 1988 Winter Simulation Conference (December l988), pp. 325-332.
    [86]
    Samadi, B. Distributed simulation, algorithms and performance analysis. Ph. D. thesis, University of California, Los Angeles, 1985.
    [87]
    Sleator, D.D., and Tarjan, R.E. Selfadjusting binary search trees. J. ACM 32, 3 (July 1985), 652-686.
    [88]
    Sokol, L.M., Briscoe, D.P., and Wieland. A.P. MTW: a strategy for scheduling discrete simulation events for concurrent execution. In Proceedings of the SCS Multiconference on Distributed Simulation 19, 3 (July 1988), pp. 34-42.
    [89]
    Sokol, L.M., and Stucky, B.K. MTW: experimental results for a constrained optimistic scheduling paradigm. In Proceedings of the SCS Multiconference on Distributed Simulation 22, I (January 1990), pp. 169- 173.
    [90]
    Som, T.K., Cota, B.A., and Sargent, R.G. On analyzing events to estimate the possible speedup of parallel discrete event simulation. In Proceedings of 1989 Winter Simulation Conference (December 1989), pp. 729-737.
    [91]
    Su, W.K., and Seitz, C.L. Variants of the Chandy-Misra-Bryant distributed discrete-event simulation algorithm. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 38-43.
    [92]
    Tinker, P.A., and Agre, J.R. Object creation, messaging, and state manipulation in an object oriented Time Warp system. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 79-84.
    [93]
    Wagner, D.B., and Lazowska, E.D. Parallel simulation of queueing networks: Limitations and potentials. In Proceedings of I989 ACM SIG- METRICS and PERFORMANCE '89,17, 1 (May 1989), pp. 146-155.
    [94]
    Wagner, D.B., Lazowska, E.D., and Bershad, B.N. Techniques for efficient shared-memeory parallel simulation. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 29-37.
    [95]
    West, D. Optimizing Time Warp: Lazy rollback and lazy re-evaluation. M.S. thesis, University of Calgary, January 1988.
    [96]
    Wieland, F., Hawley, L., Feinberg, A., DiLorento, M., Blume, L., Reiher, P., Beckman, B., Hontalas, P., Bellenot, S., and Jefferson, D.R. Distributed combat simulation and Time Warp: The model and its performance. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 14-20.
    [97]
    Wieland, F., and Jefferson, D.R. Case studies in serial and parallel simulation. In Proceedings of the 1989 International Conference on Parallel Processing, vol. 3, (August 1989), pp. 255-258.
    [98]
    Zhang, G., and Zeigler, B.P. DEVS- Scheme supported mapping of hierarchical models onto multiple processor systems. In Proceedings of the SCS Multiconference on Distributed Simulation 21, 2 (March 1989), pp. 64-69.

    Cited By

    View all
    • (2024)Evolution of local computing time in parallel modeling of mobile networksFrontiers in Physics10.3389/fphy.2024.124864312Online publication date: 24-Jan-2024
    • (2024)Parallel Simulation of Quantum Networks with Distributed Quantum State ManagementACM Transactions on Modeling and Computer Simulation10.1145/363470134:2(1-28)Online publication date: 31-Jan-2024
    • Show More Cited By

    Recommendations

    Reviews

    Paul Adrian Luker

    The devotion of this issue of Communications of the ACM to simulation attests to the increasing importance of simulation as a tool to help understand and manage our increasingly complex world. This special issue is also evidence of a recognition that simulation poses interesting problems for the computer scientist. For example, many simulationists are concerned with the integration of artificial intelligence techniques and traditional simulations, while others, in a quest for speed, are developing simulations for distribution over multiprocessor systems, or LANs. For papers like those in this issue, the reader would normally have to consult specialist publications, such as those of the Society for Computer Simulation, or the proceedings of simulation conferences. This collection has been produced from reworkings of papers presented at the 1989 Winter Simulation Conference, an annual conference that primarily addresses discrete event simulation. The collection was compiled, edited, and introduced by the program chair of the conference, Philip Heidelberger. The introduction is quite short and is little more than a (good) summary of each paper. My only major concern with the special issue is that it lacks the glue to hold the components together. Each paper is excellent in its own way, but the reader who is not familiar with discrete event simulation may not find it easy to put each contribution into its proper context. I would have liked to see a longer introduction that provided a general overview of discrete event simulation and led into each paper at the appropriate point. Further, the ordering of the papers shows no clear logic. L'Ecuyer's paper, for example, is germane to all discrete event simulations, while Fujimoto's paper addresses distributed simulation which, though very interesting, is at present relevant to fewer would-be simulationists. Richard Fujimoto's paper is by far the longest contribution to the special issue. A well-known and respected author in the area of distributed simulation, Fujimoto has here produced an excellent introduction to parallel discrete event simulation, beginning with a review of the nature of discrete event simulation (which may justify the paper's position in the vanguard). Typically, discrete event systems are asynchronous. The simulation is decomposed into a set of concurrent processes that may be mapped onto different processor configurations, loosely or tightly coupled, to achieve a speedup in performance. The parallelization is data-dependent and is certainly not amenable to techniques such as vector processing. Consequently, parallel discrete event simulation is seen as a model for distributed computation in general. For all discrete event simulations, the key problem is to process events in increasing simulation time (or timestamp) order. If this order is violated, then causality errors can arise, in which an event could affect a past event—clearly no more acceptable in the simulation than in the system being simulated. In parallel discrete event simulation, each real-world process is represented in the simulation by a logical process, which communicates with other processes by sending messages that represent future events. However the simulation is implemented, each logical process has to process events in increasing order of event time. Herein lies the challenge. Fujimoto discusses at some length the two basic mechanisms, conservative and optimistic, to meet this challenge. He follows the description of each method with an assessment of its performance and a critique. Conservative mechanisms, as the name implies, avoid causality errors by only processing an event when it is safe to do so. This requires blocking processes, which in turn can lead to deadlock. Fujimoto describes schemes for overcoming deadlock and discusses a number of approaches to performance optimization. Optimistic mechanisms detect causality errors after the fact and then recover from them, which involves “undoing” any damage. The author describes Time Warp, the best known optimistic method, along with variations and alternative and hybrid approaches. In sum, Fujimoto's paper will interest anybody who wants to speed up a discrete event simulation and anybody curious about parallel and distributed computation in general. The second paper, by Jain, Barber, and Osterfeld, describes a specific application of discrete event simulation: plant floor scheduling in computer integrated manufacturing. Although specific in focus, this contribution has a general interest in that it describes the integration of an expert system with simulation software. The expert system is used to capture the human scheduling expertise, while the simulation is used to produce schedules and identify decision points. The authors discuss the expert system component first. They assess the limitations of existing packages and make the case for using the expert system. When constructing the expert system, the authors had access to a good human expert, who, from the description given, seems to have been a knowledge engineer's dream. Their simulation component employs backward simulation, analogous to backward reasoning, which starts with the same goal state and moves backwards in time to the initial state. Such a method makes it easier to accommodate just-in-time scheduling. Compatibility between the two components was achieved through the use of object orientation. Specifically, KEE was used for the expert system and LISP for the simulation. Having explained the architecture of their system, the authors explain and illustrate its role on the factory floor. They conclude by discussing some of the advantages of their system, which will interest those who wish to combine expert systems and simulations. One of the problems cited is the difficulty of interfacing AI hardware with general-purpose hardware: in particular, the communication overhead can be prohibitive. Among the advantages listed are the ability to perform rapid prototyping with the expert system shell and the flexibility of the frame-based knowledge representation scheme used. The next paper describes another specific application, NEST. Once again, though, the architecture of the system is of general appeal. NEST is a graphical environment, embedded within UNIX, for the simulation and rapid prototyping of distributed, networked systems. It can be used to investigate such things as performance, fault tolerance, and protocols. The structure of the problem is described graphically, while algorithms (for routing or other protocols) are written in C. The results of the simulations are displayed graphically. The authors contrast the basic approach of NEST to what they call the “traditional approaches,” which are either language-based or model-based. In the former approach, the simulation is specified in its entirety using a simulation language. While this allows maximum generality, it separates modeling and simulation from the processes of design and development. It is also tedious and error-prone. The model-based approach, using special-purpose packages such as RESQ, is less flexible, only allowing a limited scope, but it can lead to excellent run-time efficiency. Language- and model-based systems both require expertise of the user. These disadvantages led the authors (and many other workers) to adopt an environment-based approach, which provides the user with a high level of support without requiring a lot of expertise. NEST's architecture is interesting—NEST is configured as a simulation server with client monitors. The client monitors, which utilize windows and menus, are used to create, edit, and configure simulations and display the results of their executions. It is possible to reconfigure a simulation during a run, which makes the system highly suitable for analyzing the effect of system failures. These monitors will, typically, reside on separate workstations. The communication overhead between client and server is low, so the server can support clients over a wide area network. Each node is represented in the simulation server by a lightweight process (or thread) within a single UNIX process. This leads to a maximization of concurrency and, thereby, efficient execution. The authors describe the synchronization of events and discuss the relationship between simulation time and real time (which harks back to some of Fujimoto's discussion). They give an example of a simulation of the Routing Information Protocol, developed at Xerox PARC and UC Berkeley. The paper ends with a summary of other applications and further discussion of the implementation of NEST. I enjoyed this paper, which contains some good, widely applicable ideas. The fourth paper, by Peter Glynn, is the most specific of the six, and will only be useful if you are interested in optimizing stochastic systems. Glynn describes a technique for Monte Carlo gradient estimation, which he claims is very efficient. He begins by describing and elaborating two scenarios that motivate the development of efficient gradient estimation techniques. He then describes the underlying nature of the technique, specializes it for discrete-time stochastic processes, and derives a treatment of continuous-time (but discrete-event) systems. The derivations of all formulae are shown, and examples demonstrate the wide applicability of the technique. Although Glynn's method assumes that the simulations terminate, the final section discusses the extension of likelihood ratio gradient estimation to steady-state performance measurement. Regenerative stochastic systems are well suited to the technique, but non-regenerative systems remain a subject of research. As L'Ecuyer himself states in the fifth paper, many people believe that the problem of generating uniform “random” numbers has long been solved—and in some respects it has. Good theoretical treatments have been published, and random number generators that have excellent statistical properties are available. Nevertheless, some generators that have terrible properties are in use. With dependence on simulation increasing, it is especially important that there be robust, reliable, efficient, and portable random number generators. This paper offers a useful overview of techniques that are relevant to today's requirements on machines ranging from laptops to supercomputers. L'Ecuyer gives a base definition of a pseudorandom number generator and discusses the assessment of such generators. He then presents a detailed treatment of (matrix) linear congruential generators, into which category the majority of available generators fit. The discussion is comprehensive, well structured, and clear. Among the important issues addressed is the generation of (well separated) subsequences, including vectorization techniques for simultaneous subsequence generation on parallel computers. The author then considers the programming of linear congruential generators and goes on to discuss their statistical properties. A brief section on nonlinear generators leads into a discussion of hybrid generators, which attempt to obtain the best of both the linear and nonlinear worlds—a long period without regular patterns. Everybody undertaking discrete event simulations should read this excellent treatment of current concerns and techniques in random generation. The bibliography is outstanding. The final paper describes a simulation of a semiconductor fabrication line. In such a production line, turnaround time is of vital importance because it affects contamination, yield, and costs. The process is too complex to yield entirely to analytical techniques, so simulation is the only methodology that can be applied to studying the dynamics of semiconductor manufacture. Miller explains the main variables of the production process and then provides details of the model and simulation. The chosen implementation language, SIMAN, quite rightly enforces a separation of the model specification from the specification of the experiment to be performed. The paper describes the structure of both components of the simulation as well as the verification and validation procedures. Although the model is for a specific plant, it has been applied to other semiconductor fabrication lines. As has been found for models of many types of production line, the simulation described here led to improved production characteristics without the need for retooling or additional resources.

    Yi-Bing Lin

    Recently there has been a great deal of interest in parallel discrete event simulation, and several survey articles on the execution of simulation models on parallel processors have appeared [1-4]. Fujimoto's survey covers most of the material in the previous papers and discusses current research directions in parallel simulation. The author shows that discrete event simulation is difficult to parallelize because of sequencing constraints. He then describes two basic approaches to parallel simulation, conservative and optimistic. The conservative mechanisms are the Chandy-Misra deadlock avoidance protocol, the Chandy-Misra deadlock detection and recovery protocol, synchronization operation, and the conservative time window. Fujimoto proposes three methods to improve the performance of the conservative mechanisms: exploiting lookahead, exploiting conditional knowledge, and exploiting network topology. The optimistic mechanisms are the Time Warp protocol and its variations—lazy cancellation, lazy reevaluation, optimistic time window, wolf calls, direct cancellation, and space-time. The paper examines the performance of both mechanisms and provides a critique and assessment. Fujimoto points out that an important application area that has not yet been adequately addressed by the parallel mechanisms is real-time applications. This paper provides insight into the problem of executing discrete event simulation programs on a parallel computer and indicates several directions for future research.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image Communications of the ACM
    Communications of the ACM  Volume 33, Issue 10
    Special issue on simulation
    Oct. 1990
    118 pages
    ISSN:0001-0782
    EISSN:1557-7317
    DOI:10.1145/84537
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 October 1990
    Published in CACM Volume 33, Issue 10

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)681
    • Downloads (Last 6 weeks)85

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Evolution of local computing time in parallel modeling of mobile networksFrontiers in Physics10.3389/fphy.2024.124864312Online publication date: 24-Jan-2024
    • (2024)Parallel Simulation of Quantum Networks with Distributed Quantum State ManagementACM Transactions on Modeling and Computer Simulation10.1145/363470134:2(1-28)Online publication date: 31-Jan-2024
    • (2024)Towards the Optimization of Memory and Data Management in Speculative PDES on Multi-Core MachinesProceedings of the 38th ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3615979.3662150(63-64)Online publication date: 24-Jun-2024
    • (2024)Devastator: A Scalable Parallel Discrete Event Simulation Framework for Modern C++Proceedings of the 38th ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3615979.3656061(35-46)Online publication date: 24-Jun-2024
    • (2023)Fast Approximation to Discrete-Event Simulation of Markovian Queueing NetworksProceedings of the Winter Simulation Conference10.5555/3643142.3643444(3613-3623)Online publication date: 10-Dec-2023
    • (2023)Modeling Risk Prioritization of a Manufacturing Supply Chain Using Discrete Event SimulationProceedings of the Winter Simulation Conference10.5555/3643142.3643313(2064-2075)Online publication date: 10-Dec-2023
    • (2023)Hybrid Models with Real-Time Data in Healthcare: A Focus on Data Synchronization and ExperimentationProceedings of the Winter Simulation Conference10.5555/3643142.3643237(1148-1159)Online publication date: 10-Dec-2023
    • (2023)Evaluating Parallelization Strategies for Large-Scale Individualbased Infectious Disease SimulationsProceedings of the Winter Simulation Conference10.5555/3643142.3643232(1088-1099)Online publication date: 10-Dec-2023
    • (2023)Dense agent-based HPC simulation of cell physics and signaling with real-time user interactionsFrontiers in Computer Science10.3389/fcomp.2023.10858675Online publication date: 12-May-2023
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media