OMNEST allows you to easily build queueing and resource allocation-based performance models by combining existing blocks. 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 obtain approximate results.

Then, you can start refining the original model and adding more details. You can build upon our blocks using C++ class inheritance, or you can simply 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 an illustration of this idea.


Click for an 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