High performance optimistic parallel discrete event simulation in a network of linux machines
Abstract
Parallel Discrete Event Simulation (PDES) refers to the execution of a discrete?event simulation on a parallel or distributed system. The synchronization mechanism of PDES uses either an optimistic or conservative approach. Optimistic PDES requires the state of the simulation process to be saved at regular intervals, so that it can be restored during a rollback. Unlike sequential simulation, optimistic PDES incurs substantial overheads in communication and state saving/restoration. Warped, Maisie, GTW, and Parasol are some optimistic PDES implementations that provide support at the user level.
The objective of our implementation, which we call TWLinuX, is to provide operating system support for optimistic PDES. Our OS support for PDES controls the scheduling of simulation processes, enables the simulation program to use large and complex state spaces, provides efficient techniques for state saving/restoration, and controls file operations to support rollback. Interprocess communication overheads are reduced by using threads instead of processes. A new scheduling policy is used, where simulation threads are given higher priority than normal user processes.
TWLinuX uses an adaptive state?saving mechanism, where free available memory is used for backup storage instead of disk swap. A novel delayed?restoration technique is used, where only the required portions of the saved state are restored. Support for read?only files, write?only files, read?write files, and standard input/output is also provided.
We performed various performance studies on TWLinuX using Warpnet, Queuing, and Pucks applications. The state?saving optimizations reduce our state?saving overheads to about 3%. TWLinuX performs better than Warped and is also able to achieve speedups.

