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.
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.