The Time Warp Operating System

The Time Warp Operating System (TWOS) is a special purpose operating system designed to run parallel discrete event simulations with maximum efficiency on parallel or distributed computers. Though TWOS provides some operating system capabilities such as object scheduling and memory management, most implementations of TWOS do not replace the host operating system, but appear as an application running on top of it.

Synchronization

To take advantage of parallelism, a discrete event simulation can be decomposed into individual components or objects which run in parallel. Being part of a discrete event simulation, each object runs at discrete moments in simulation time. When the objects are run in parallel on different nodes, it is generally necessary to synchronize them in some manner so that the simulation does not produce improper results due to one object running too far ahead of another. Such improper results are called causality errors.

Conservative methods of synchronization prevent causality errors from ever happening by blocking objects if necessary. This can limit the amount of parallelization which can be extracted from the simulation. In contrast, optimistic methods of synchronization allow causality errors to occur temporarily. In the course of the simulation all such errors are discovered, and steps are taken to recover from each error.

Time Warp

The Time Warp Operating System uses the best known method of optimistic synchronization, called Time Warp. Under Time Warp, when it is determined that a causality error has occurred, the offending object is rolled back in time, and any messages it may have sent during that time are canceled.

Applications

TWOS has been used to support a variety of simulations, including a neural network, a smooth particle hydrodynamic (SPH) simulation of Jupiter's atmosphere following the SL9 comet collision, a military battlefield simulation, and message passing on a computer network.

Platforms

At the Jet Propulsion Laboratory, where TWOS was developed, it has been ported to a distributed network of Suns, as well as parallel computers including the BBN GP1000, the Intel Delta, and the Cray T3D.

Availability

TWOS is available from NASA's Computer Software Management and Information Center (COSMIC). The version from COSMIC includes source code, but does not yet include the Delta and T3D porting code. The phone number for COSMIC is 706-542-3265.

For an alternative source for TWOS, and further details about it, see Peter Reiher's Time Warp page.

References

"Parallelizing the Cascade-Correlation Algorithm Using Time Warp," Neural Networks,Vol. 8, No. 4.

"Experiences With Optimistic Synchronization for Distributed Operating Systems," Peter Rieher, Thrid Symposium on Experiences With Distributed and Multiprocessor Systems, March 1992.

"Parallel Discrete Event Simulation," R. M. Fujimoto, Communications of the ACM, pp. 30-53, October 1990.

"Parallel Simulation Using the Time Warp Operating System," Peter Reiher, Proceedings of the 1990 Winter Simulation Conference, pp. 38-45, December 1990.

"Distributed Simulation and the Time Warp Operating System," David Jefferson et. al., Proceedings of the 11th Annual ACM Symposium on Operating System Principles, 1987.