Algorithms for improving the performance of optimistic parallel simulation

This thesis explores methods to decrease overheads in an optimistic parallel discrete event simulation system. A discrete event simulation uses a computer to test a model of a system whose state changes at discrete points in time. The goal of parallel discrete event simulation (PDES) is to exploit parallel computing resources to decrease a discrete event simulation's runtime. Decreasing simulation runtime with PDES is difficult, because PDES introduces overheads that offset the benefit of applying more processors to a simulation. This thesis develops approaches to decreasing PDES overheads that result from saving state for checkpoints, managing user level threads, scheduling events for execution, and interprocessor communication. The thesis compares different approaches to each overhead via simple experiments with the PARAS OL PDES system.