The Time Warp Operating System

The Time Warp Operating System (TWOS) is a optimistic parallel discrete event simulation engine based on David Jefferson's concept of virtual time. It achieves high speedup on discrete event simulations by running them in parallel on multiple nodes of a parallel processor, or on several Sun workstations connected by an Ethernet. TWOS uses an optimistic synchronization method that incorporates a full rollback mechanism.

The basic design of TWOS requires users writing simulations for the system to divide up the simulation into discrete objects, each of which has its own private state and code for running events. (Many sequential simulation engines also divide up the simulation into objects of this type, though they typically do provide shared memory between objects.) Objects communicate solely by explicit messages. Objects are assigned to nodes participating in the computation. TWOS attempts to obtain the fastest run time of the simulation possible, with no attempt to use hardware efficiently.

Each node running the simulation schedules and executes the local event with the earliest simulation time. Messages arriving from other nodes may eventually indicate that events that were executed should not have been executed yet, as another node had not yet produced input necessary for their correct execution. This situation is discovered when an object receives a message with a simulation receive time earlier than the execution time of an event already run. In such cases, TWOS rolls back the event (or events) and cancels all effects of that event. The cancellation is done by an elegant message/anti-message concept.

TWOS is one of many implementations of the Time Warp concept. It contains advanced features not available in most other versions of the system. For example, it contains the option to use either lazy or aggressive cancellation, dynamic load management, dynamic object creation, and dynamic memory allocation.

TWOS has achieved high speedups (up to around 50 times the speed of the simulation run sequentially) for certain simulations.

The Time Warp Operating System, in version 2.7.1, is available by anonymous FTP from file://ftp.cs.ucla.edu/pub/ficus/reiher/tw.tar.Z. (This file is around 11M, compressed. It includes not only Time Warp, but a sequential simulation engine with a compatible interface, several sample simulations, and some tools.)

At the moment, I don't have any Time Warp articles available on-line. I have published nearly 20 articles on the system, and hope to make them available soon.

If you have any questions about TWOS, please send me electronic mail.

reiher@cs.ucla.edu
Last modified: Tues Sep 6 1994