4th International ICST Workshop on OMNeT++

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
Georg Kunz1,*, Mirko Stoffers1, James Gross1, Klaus Wehrle1
  • 1: RWTH Aachen University
*Contact email: georg.kunz@cs.rwth-aachen.de

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.