OMNEST lets you build queueing and resource allocation based performance models easily by combining existing blocks, and when more details need to be accommodated into the model, OMNEST helps you by allowing you to refine, specialize, enhance or replace model blocks, and you can also create new blocks.


We provide you with queueing and resource allocation building blocks to create an initial performance model, so that you quickly have approximate results.

Then you can start refining the original model, and add more details. You can build upon our blocks using C++ class inheritance, or you can just copy and modify their sources. Our performance modeling library can thus give you a head-start for building detailed, high-performance simulation models.

One approach for modeling software-hardware systems such as clouds is to model hardware (memory, disk, CPU cycles, etc.) as resources, and software (e.g. web requests) as transactions that allocate and deallocate resources as they are being processed. See the cloud simulation case study below for illustration of this idea.


Click for the overview of the OMNEST performance modeling library (queueinglib). Existing simulation models for cloud computing, storage area networks (SANs) and other domains may also be useful.

An example OMNEST performance model


  • Enjoy the expressiveness and performance of C++! The fact that OMNEST models are written in C++ also allows you to seamlessly integrate foreign C or C++ code into the simulation.
  • Enjoy OMNEST's extensibility (e.g. co-simulation)
  • Enjoy the accessibility of other simulation models available for OMNEST (e.g. network protocols)
  • Enjoy the facilities provided by the OMNEST simulation engine
  • Reuse models for the next project

Case Studies