Simulating Stochastic Processes with OMNeT++ Jan Kriege, Peter Buchholz Department of Computer Science, TU Dortmund March 21, 2011
Fakultät für Informatik, Lehrstuhl Informatik IV Outline Introduction & Motivation 1 ProFiDo 2 3 OMNeT++ Arrival Process Module 4 Application Examples 5 Conclusions Simulating Stochastic Processes with OMNeT++ 2 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV Introduction ◮ Traffic processes in computer networks include dependencies and correlation ◮ Modeling with Poisson processes or even more complex interarrival time distributions is not sufficient ◮ Neglection of correlation may result in a dramatic underestimation of resource requirements 0 200 400 600 800 1000 1200 1400 1600 Simulating Stochastic Processes with OMNeT++ 3 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV Motivation Performance of a single server queue with correlated and uncorrelated arrivals 1 Trace Dist Stochastic Process 0.1 0.01 probability 0.001 0.0001 1e-05 0 2 4 6 8 10 queue length Simulating Stochastic Processes with OMNeT++ 4 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV Markovian Arrival Processes (MAPs) ◮ two n × n matrices ( D 0 , D 1 ) ◮ D 0 ( i , j ) ≥ 0 for i � = j ◮ D 0 : rates of transitions ◮ D 0 ( i , i ) ≤ − � n without arrival j = 1 , j � = i D 0 ( i , j ) ◮ D 1 : rates of transitions ◮ D 1 ≥ 0 generating an arrival D 0 ( 1 , 2 ) D 1 ( 1 , 1 ) D 0 ( 2 , 1 ) Simulating Stochastic Processes with OMNeT++ 5 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV Motivation ◮ Little support for stochastic processes in simulation literature ◮ Simulation software often limited to distributions ◮ Use of correlated arrival streams is prohibited by missing tool support to generate arrival process specifications from measured data and by missing support to represent arrival processes in simulation tools ◮ ⇒ Framework to support stochastic processes in OMNeT++ simulation models Simulating Stochastic Processes with OMNeT++ 6 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV ProFiDo - Processes Fitting Toolkit Dortmund ◮ flexible Java-based toolkit for Trace consistent use of commandline-oriented fitting tools ProFiDo ◮ fitting of stochastic processes: PH Fitting ARMA Fitting choose parameters such that MAP Fitting ARTA Fitting characteristics of trace are matched ◮ visualization of properties Result Visualization ◮ workflows to realize different steps of data preprocessing, parameter fitting Analysis Simulation (OMNeT ++ ) and analysis of stochastic processes Simulating Stochastic Processes with OMNeT++ 7 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV ProFiDo - Processes Fitting Toolkit Dortmund Simulating Stochastic Processes with OMNeT++ 8 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV ProFiDo - Processes Fitting Toolkit Dortmund OMNeT++ Simulating Stochastic Processes with OMNeT++ 8 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV ProFiDo - XML Interchange Format ◮ XML interchange format for XML description description of stochastic <map> processes <states>2</states> ◮ ensures interoperability of <d0> different fitting tools in a -1.5 1.0 workflow 3.0 -3.0 </d0> 1 . 0 <d1> 0.5 0.0 0.0 0.0 0 . 5 </d1> 3 . 0 </map> Simulating Stochastic Processes with OMNeT++ 9 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module ◮ simple module that can generate random numbers from stochastic processes ◮ model description is parsed from file in XML interchange format NED description simple ArrivalProcess parameters: xml model; string transform = default(""); @display("i=block/source"); gates: output out; Simulating Stochastic Processes with OMNeT++ 10 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module ◮ simple module that can generate random numbers from stochastic processes ◮ model description is parsed from file in XML interchange format NED description simple ArrivalProcess parameters: xml model; string transform = default(""); @display("i=block/source"); gates: output out; Simulating Stochastic Processes with OMNeT++ 10 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module ◮ simple module that can generate random numbers from stochastic processes ◮ model description is parsed from file in XML interchange format NED description simple ArrivalProcess parameters: xml model; string transform = default(""); @display("i=block/source"); gates: output out; Simulating Stochastic Processes with OMNeT++ 10 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule Process 2 Matrix MAP ARTA ARMA Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule ArrivalProcess ◮ load process description Process from XML file ◮ initialize Process 2 Matrix MAP ARTA ◮ deal with message events: handleMessage() ARMA Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule Process ◮ abstract base class for Process stochastic processes ◮ getNextRandomVariate(): 2 Matrix MAP ARTA implemented in inheriting classes ARMA Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule MAP ◮ draw random numbers Process from Markovian Arrival Processes 2 Matrix MAP ARTA ◮ Simulation of the underlying Markov chain ARMA ◮ Utility class Matrix to store matrices D 0 and D 1 Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule MAP Initialization Process ◮ draw initial state from the 2 distribution defined by π Matrix MAP ARTA (stationary distribution just after an arrival) ARMA ◮ π is the unique solution of π ( − D − 1 Erlang Dist Gamma 0 D 1 ) = π Lognormal Johnson normalized to 1 Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule MAP Simulation Process ◮ next transition time: 2 exponentially distributed Matrix MAP ARTA with rate | D 0 ( i , i ) | ◮ next state: uniformly ARMA distributed according to Erlang Dist Gamma D 0 ( i , j ) / | D 0 ( i , i ) | and Lognormal Johnson D 1 ( i , j ) / | D 0 ( i , i ) | Uniform Exponential Triangular Normal ◮ Transition from D 1 : ChiSquare Weibull Generate arrival ⇒ return sum of transition times Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule ARMA ◮ simulation of Process Autoregressive Moving Average Processes 2 Matrix MAP ARTA ◮ initialization step to start in a stationary state ARMA ◮ simulation step to draw random numbers Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule ARTA ◮ simulation of Process Autoregressive To Anything Processes 2 Matrix MAP ARTA ◮ initialization step to start in a stationary state ARMA ◮ simulation step to draw random numbers Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule ARTA ◮ simulation of Process Autoregressive To Anything Processes 2 Matrix MAP ARTA ◮ combination of ARMA process with arbitrary ARMA marginal distribution ◮ support for various Erlang Dist Gamma different distributions Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Fakultät für Informatik, Lehrstuhl Informatik IV OMNeT++ Arrival Process Module - Class Hierarchy ArrivalProcess: cSimpleModule Process 2 Matrix MAP ARTA ARMA Erlang Dist Gamma Lognormal Johnson Uniform Exponential Triangular Normal ChiSquare Weibull Simulating Stochastic Processes with OMNeT++ 11 / 21
Recommend
More recommend