Search code examples
omnet++

Is OMNET++ a multi-threaded or single-threaded model?


I want to simulate vehicular network using OMNET++, Veins, and SUMO. I want to buy a computer with a good specification, so I wanted to know if OMNET++ is multithreaded or not.


Solution

  • The OMNeT++ kernel is single threaded. You will not gain anything having more cores. Also GPU is not used by any models I know, so strong GPU is not an advantage either.

    BUT: once you have developed your model and start running it to gain statistics on various scenarios, you will have to execute several simulation as a batch to gain statistical significance. In these cases you can easily run several simulations parallel in separate processes on a multi core system. This will help to finish the simulation batch much faster (as long as you have enough RAM). On the other hand, if you need to run big experiments you can also run it in the cloud and rent CPUs for that time only. This is definitely a cheaper solution than trying to set up a big (mostly) unused machine at home.

    TLDR: No need for fancy GPU. It is not used by OMNeT++. Multiple cores are useful mostly during the C++ development part, i.e. when you work with big codebases like INET. For big experiments you should consider cloud services.