The Synchronous Parallel Environment for Emulation and Discrete-Event Simulation (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 (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 (CPUs or cores).


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.

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

SPEEDES is also under consideration by over thirty organizations.

www.metsci.com

METRON, INC.
Operations Analysis and Simulation Sciences (OASiS) Group
12250 El Camino Real, Suite 260
San Diego, CA 92130-2226

PHONE: 858-792-8904
FAX: 858-794-3501
E-MAIL:  speedesinfo@ca.metsci.com

Home | Version 2.2 | Documentation | Download Code