Can a discrete event simulation model be executed in parallel? Fujimoto's article presents the challenges from the perspective of a parallel discrete event simulation (PDES) researcher. A somewhat different answer arises by reexamining the question from the viewpoint of simulation modelers that study complex systems. A simulationist in any simulation study faces the central concern of how to define a model. Often the choice of what to include versus exclude from a model is a significant intellectual accomplishment. Indeed, success in selecting a model maximizes the model's ability to meet the objectives of a simulation study, but minimizes the computation required, to the point that it may obviate the need for parallel simulation! The model is cast into a specification, and the specification is implemented as a program. The issues of verification—whether we are building the model right—and validation—whether we are building the right model—become paramount. An added complexity is designing a model that is maintainable over a lifetime of many years, during which the model may be adapted to new simulation study objectives, run on new hardware configurations or even a new computer architecture, and run on new system software releases. Therefore, conducting a successful simulation study using sequential simulation is already a taxing activity. What additional work must be done to use PDES? Fundamentally, for the PDES programmer, the chief intellectual problem is algorithm design—to devise an operational view of model execution that can be partitioned into an efficient program for the target computer architecture. The efficiency of the algorithm chosen and its match to the target architecture are overriding decisions. In selecting the parallel simulation algorithm used for execution, the PDES programmer will assess whether assumptions required by different algorithms are met by the model. This raises the question of whether a model can be modified to allow use of a more efficient PDES algorithm. In particular, the modeler may have made arbitrary design decisions which do not affect the validity of the model but do affect the ability to parallelize the model. Therefore, model definition and PDES algorithm design are not independent processes. Simulation model definition and parallel algorithm design are very different activities. Therefore success in a large PDES study implies a need for a team combining individuals with “hard-core” simulation modeling knowledge as well as individuals with PDES algorithm knowledge. Such a team could determine if an efficiency problem should be solved by model redefinition, by changing the PDES algorithm, or both. INFORMS Journal on Computing, ISSN 1091-9856, was published as ORSA Journal on Computing from 1989 to 1995 under ISSN 0899-1499.
Read full abstract