Browse Prior Art Database

Coupled Distributed Parallel Simulation

IP.com Disclosure Number: IPCOM000107602D
Original Publication Date: 1992-Mar-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 5 page(s) / 202K

Publishing Venue

IBM

Related People

Cesa, LJ: AUTHOR [+2]

Abstract

An algorithm is disclosed which accomplishes synchronization of multiple simulators in simulated time, allowing many simulators, each possibly employing different internal algorithms, to be coupled effectively with concurrent execution.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 33% of the total text.

Coupled Distributed Parallel Simulation

       An algorithm is disclosed which accomplishes
synchronization of multiple simulators in simulated time, allowing
many simulators, each possibly employing different internal
algorithms, to be coupled effectively with concurrent execution.

      Propagation of values between simulators is accomplished by a
minimum m=number of messages directly between pairs of simulators.
There is no central collection and redistribution required for value
propagation between interconnected simulators.

      The algorithm has only two points of synchronization within
each major simulation cycle (two half cycles). Within each half cycle
all simulators operate asynchronously and in parallel.

      There is no requirement that message order be maintained.

      A large design to be simulated is partitioned.  Each partition
is simulated by a different simulator (or different instance of the
same simulator) in a parallel processing environment.  The multiple
simulators communicate with each other to simulate the
interconnections between the partitions.  The multiple simulators
communicate with a Master Control Process to synchronize simulation
time. Simulation time is monotonically increasing.  Time may stay the
same for a number of simulation cycles until all activity at that
time has stabilized, but time may not go backwards.

      A major simulation cycle consists of two half cycles. In the
first half cycle simulation time is advanced (if needed) and all
values "scheduled" to change at that time are "updated".  In the
second half cycle new values are computed based on the "update" just
made and they are "scheduled" to be updated at the appropriate time
in the future.  Each of the simulators coupled may use any algorithm
internally.  It is only required that they present this "two half
cycle" behavior in the interface to each other and to the Master
Control Process.

      The following describes a single simulation cycle.  The
complete simulation process consists of repetitions of this cycle
until some stop condition is reached.

      The Master Control Process maintains data needed to control the
simulation coordination.

      They are:
           N         - Number of simulators being controlled
           NT(1)     - An array of N entries, one entry for each
simulator.  NT(i) contains the Next Time value for the ith simulator.
Each simulator can be "activated" in either of two ways. Simulator i
is activated by the Master Control Process when
ever its Next Time (NT (i)) equals Current Time. One simulator may be
activated by another sim                      ulator directly due to
a value change on a sig                      nal connecting the two
simulators.
           PEND_U    - Counter used to keep track of when all the Up
date Half Cycles are complete.
           P...