TWiki home TWiki > Simulation > SimulationWebHome > ParallelSimulation TWiki webs:
Main | TWiki | Know | Sandbox
Simulation . { Changes | Index | Search | Go }

Parallel Simulation with OMNeT++

This page reports about a research project to develop parallel simulation support for OMNeT++, focusing on efficient simulation of large-scale IPv6 networks. The project was done at CTIE, Monash University (Melbourne, Australia) in 2003 by Andras Varga, under the leadership of Dr Ahmet Y Sekercioglu.

Parallel simulation framework

The parallel simulation infrastructure of older OMNeT++ versions has been replaced with an extensible and structured parallel simulation framework, which makes an ideal platform for experimenting with various synchronization mechanisms. Arbritary synchronization mechanisms can be plugged in (in theory at least; currently the conservative Null Message Algorithm (NMA) and Bagrodia's Ideal Simulation Protocol (ISP) are implemented). The API to be followed by new synchronization mechanisms is very clean: a purely abstract class (with very few methods) has to be implemented in C++. The framework is also independent of MPI and can use any suitable communication mechanism between partitions (MPI, named pipes and (for demo) file-based transport have been implemented). Most existing models can be run in parallel without any change, if they contain the necessary lookahead for conservative synchronization (more precisely, if they fullfill the preconditions required by the synchronization mechamism.)

We have completed a number of experimental runs on CTIE's Linux Cluster using Bagrodia's Closed Queueing Network (CQN) model, comparing performance under Ideal Simulation Protocol and the Null Message Algorithm. We published an overview of OMNeT++ PDES implementation at ESS 2003 (see Publications below). We currently performing scalability experiments with CQN, and eventually we'll move on to parallel simulation of IPv6 networks using IPv6Suite.

To give it a test drive, get the latest version of OMNeT++ 3.0, and try the "Parallel CQN" sample simulation on any multiprocessor (e.g. dual-Pentium Linux or Windows box). MPI is not necessary (by default it uses named pipes transport), but you'll want to switch to it later. We don't have a proper written manual at the moment, but the ESS paper and slides (see below), the quite elaborate Doxygen docu generated from omnetpp/src/sim/parsim, and the clearly structured code should give enough information to start.

Lookahead criteria

We have also developed quantitative criteria to determine how large lookahead needs to be in relation to model complexity and communication latency between CPUs of the hardware (e.g. cluster). In our understanding this is a novel finding (we haven't found any other quantitative result about lookahead in the literature.) We have also addressed other issues, such as how to partition the network topology in such a way that parallel simulation performance is optimized. Our results have been published at ESS 2003 (see Publications below).


  1. an overview of OMNeT++ PDES implementation was published in the following paper: Y. Ahmet Sekercioglu, Andras Varga and Gregory K. Egan, "Parallel Simulation Made Easy with OMNeT++". In Proceedings of the European Simulation Symposium (ESS 2003), 26-29 Oct, 2003, Delft, The Netherlands. Download: paper, slides in pdf, slides in ppt
  2. the criteria were published in the following paper: Andras Varga, Y. Ahmet Sekercioglu and Gregory K. Egan, "A Practical Efficiency Criterion for the Null Message Algorithm". In Proceedings of the European Simulation Symposium (ESS 2003), 26-29 Oct, 2003, Delft, The Netherlands. Download: paper, slides in pdf, slides in ppt

Our efforts will continue with the following:

Topic ParallelSimulation . { Edit | Attach | Ref-By | Printable | Diffs | r1.12 | > | r1.11 | > | r1.10 | More }
Revision r1.12 - 10 Mar 2013 - 09:23 GMT - AhmetSekercioglu
Parents: SimulationWebHome
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback.