Runtime efficient event scheduling in multi-threaded network simulation

2011 
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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    20
    References
    6
    Citations
    NaN
    KQI
    []