|
SPEEDES Version 2.2 released on March 31, 2005!
Synchronous Parallel Environment for Emulation and Discrete-Event Simulation.
The SPEEDES simulation engine allows the simulation builder to perform
optimistic parallel processing on high performance computers, networks
of workstations, or combinations of networked computers and HPC
platforms. Applications that can make use of SPEEDES are
typically time-constrained (too many events to process in a limited
amount of time). SPEEDES is also designed to implement High Level
Architecture (HLA) federations of simulations.
What are the benefits?
SPEEDES-based object-oriented simulations that run on High Performance
Computing (HPC) platforms are able to address extremely complex
problems and still maintain short run times. Where 'real time'
simulation is required, as in wargames or training, SPEEDES optimistic
processing capability minimizes simulation lag time behind wall clock
time, or multiples of real time.
Likewise, when fast completion of a virtual time simulation run is
needed, SPEEDES accommodates increases in problem complexity with
additional parallel computing nodes.
How does SPEEDES work?
SPEEDES allocates events over multiple processors to get simulation
speed-up. This characteristic improves runtime, especially when
exploiting the very large number of processors and the high-speed
internal communications found in HPC platforms. At the heart of
SPEEDES is a set of innovative optimistic-processing algorithms
patented by NASA. These algorithms allow each processor to race
ahead with an assigned set of events, create messages, etc. without
regard to processing on other CPUs. Then, anytime a 'straggler'
message arrives at a CPU that invalidates the processing that has been
going on at that CPU, the processing is rolled back and any messages
sent as a result of the invalid processing are cancelled. Other
CPUs that receive message cancellations then may be rolled back, and so
on. The algorithms also allow the user to balance 'at-risk'
forward processing of events that may have to be undone and
re-processed, with risk-free forward processing of events whose output
messages can be held until needed by other events.
For many simulation objects, their state changes at a much lower
frequency than the frequency of events that make use of the
object. SPEEDES Version 2.0 uses a scheme that reduces the
message traffic between CPUs by establishing object proxies at CPUs
that need access to those objects' states, and requiring inter-CPU
messages only when the proxy state needs to be updated because of a
change to the object it represents. Also, object subscribers may not
need all the state data from a particular object proxy. SPEEDES
Version 2.0 uses an optimization scheme whereby proxies can dynamically
subscribe either to entire objects, or only to attributes that are of
interest to them.
SPEEDES is described in the
SPEEDES User's Guide
and
SPEEDES API Reference Manual,
both of which
are available from the
documentation
page.
Who uses SPEEDES?
SPEEDES is used operationally at the Joint National Integration
Center.
The
Missile Defense Wargaming and Analysis Resource
(MDWAR)
simulation
(called
MADsim),
built on the SPEEDES framework, has been in operation for nearly three years.
This year it is expected to be used in several major missile defense wargames.
SPEEDES is also being used, for a Joint Battlespace Infosphere (JBI)
simulation being developed by the Air Force Research Laboratory (AFRL),
a number of smaller projects, and is under consideration by over thirty
organizations.
|
|