Research Article
Runtime Efficient Event Scheduling in Multi-threaded Network Simulation
@INPROCEEDINGS{10.4108/icst.simutools.2011.245504, author={Georg Kunz and Mirko Stoffers and James Gross and Klaus Wehrle}, title={Runtime Efficient Event Scheduling in Multi-threaded Network Simulation}, proceedings={4th International ICST Workshop on OMNeT++}, publisher={ACM}, proceedings_a={OMNET++}, year={2012}, month={4}, keywords={Parallel Network Simulation Multi-threading Performance Optimization}, doi={10.4108/icst.simutools.2011.245504} }
- Georg Kunz
Mirko Stoffers
James Gross
Klaus Wehrle
Year: 2012
Runtime Efficient Event Scheduling in Multi-threaded Network Simulation
OMNET++
ACM
DOI: 10.4108/icst.simutools.2011.245504
Abstract
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.
We introduce two efficient event handling schemes based on our parallel-simulation extension Horizon for OMNeT++. First, we present a push-based event handling scheme to minimize the overhead of thread synchronization and locking. Second, we complement this scheme with a novel event scheduling algorithm that significantly reduces the overhead of parallel event scheduling. Lastly, we prove the correctness of the scheduling algorithm. Our evaluation reveals a total reduction of the event handling overhead of up to 16x.