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.

www.metsci.com

METRON, INC.
HIGH PERFORMANCE COMPUTING DIVISION
512 Via de la Valle, Suite 301
SOLANA BEACH, CA 92075

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

Home | Version 2.2 | Documentation | Download Code | Change Requests