Runtime Efficient Event Scheduling in Multi-threaded Network Simulation

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 simulation framework. Besides more complex event scheduling algorithms, the main sources of overhead are thread synchronization and locking of shared data structures. As a result, the overhead of parallelization may easily outweigh the benefits of parallelization in comparison to classic sequential simulation. We introduce two efficient event handling schemes based on our parallel-simulation extension Horizon for the OMNeT++ simulator.First, we present a emphpush-based event handling scheme to minimize the overhead of thread synchronization and locking. Second, we complement this scheme with a novel emphevent scheduling algorithm that significantly reduces the overhead of parallel event scheduling. Lastly, we prove the correctness of our scheduling algorithm. Our evaluation reveals a total reduction in the event handling overhead of up to 16x when combining both schemes.

Publication
Proceedings of the 4th International Workshop on OMNeT++ (OMNeT++'11)
Dr. Mirko Stoffers
Dr. Mirko Stoffers
Postdoctoral Researcher
Placeholder Avatar
James Gross
Klaus Wehrle
Klaus Wehrle
Head of Group