Abstract
Distributed execution of the independent components of a simulation model poses some problems such as incorrect forward simulation and deadlocks that do not occur in real systems. The objectives of this research were to design a parallel algorithm, to identify the language requirements for distributed simulation and to develop a concurrent language based prototype. An asynchronous simulation algorithm with synchronization protocols has been designed based on the relaxation technique suggested by Jones and Schwarz for constructing parallel solutions to general problems. A minimal set of simulation primitives has been identified and provided as extensions to a concurrent host language, namely, the Ada programming language. The support functions such as random deviate generation, statistics collection and queue handling have been implemented as tasks - the concurrent programming units of Ada. The extended relaxation algorithm has been implemented as a task type. A preprocessor that translates the extensions into executable Ada language constructs, creates the control environment, and binds the user-defined model with the support function packages and the control modules has been developed in the Ada language. The encapsulation, tasking, generic and separate compilation features of the Ada language were used extensively in the development of this prototype. A fully operational distributed concurrent environment for simulation has been built in this research. The communicating sequential processes methodology and the kernel simulation primitives provide a mechanism to specify the inherent parallelism in a real system. The behavior of the extended relaxation algorithm has been analyzed through three different example problems. Several situations that may cause severe synchronization problems have been identified. The communication overhead for the concurrent execution of the .sample models has also been measured. It was noted that a synchronous communication mechanism may cause distributed systems to deadlock during the normal receive and send operations. Suggestions for future work are also provided.
Chandrasekaran, Usha (1986). The design of a distributed concurrent simulation environment. Texas A&M University. Texas A&M University. Libraries. Available electronically from
https : / /hdl .handle .net /1969 .1 /DISSERTATIONS -21194.