Runtime Efficient Event Scheduling in Multi-Threaded Network Simulation
Developing an efficient parallel simulation framework for multiprocessor systems is hard. A primary concern is the considerable amount of parallelization overhead imposed on the event handling routines of the simulator. Besides complex event scheduling algorithms, the main sources of overhead are thread synchronization and locking of shared data. Thus, compared to sequential simulation, the overhead of parallelization may easily outweigh its performance benefits. The authors introduce two efficient event handling schemes based on their parallel-simulation extension Horizon for OMNeT++.