Simulating Stochastic Processes with OMNeT++ Jan Kriege, Peter - - PowerPoint PPT Presentation

simulating stochastic processes with omnet
SMART_READER_LITE
LIVE PREVIEW

Simulating Stochastic Processes with OMNeT++ Jan Kriege, Peter - - PowerPoint PPT Presentation

Simulating Stochastic Processes with OMNeT++ Jan Kriege, Peter Buchholz Department of Computer Science, TU Dortmund March 21, 2011 Fakultt fr Informatik, Lehrstuhl Informatik IV Outline Introduction & Motivation 1 ProFiDo 2 3


slide-1
SLIDE 1

Simulating Stochastic Processes with OMNeT++

Jan Kriege, Peter Buchholz

Department of Computer Science, TU Dortmund

March 21, 2011

slide-2
SLIDE 2

Fakultät für Informatik, Lehrstuhl Informatik IV

Outline

1

Introduction & Motivation

2

ProFiDo

3

OMNeT++ Arrival Process Module

4

Application Examples

5

Conclusions

Simulating Stochastic Processes with OMNeT++ 2 / 21

slide-3
SLIDE 3

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

200 400 600 800 1000 1200 1400 1600

Simulating Stochastic Processes with OMNeT++ 3 / 21

slide-4
SLIDE 4

Fakultät für Informatik, Lehrstuhl Informatik IV

Motivation

Performance of a single server queue with correlated and uncorrelated arrivals

1e-05 0.0001 0.001 0.01 0.1 1 2 4 6 8 10 probability queue length Trace Dist Stochastic Process Simulating Stochastic Processes with OMNeT++ 4 / 21

slide-5
SLIDE 5

Fakultät für Informatik, Lehrstuhl Informatik IV

Markovian Arrival Processes (MAPs)

◮ two n × n matrices (D0, D1) ◮ D0: rates of transitions

without arrival

◮ D1: rates of transitions

generating an arrival

◮ D0(i, j) ≥ 0 for i = j ◮ D0(i, i) ≤ − n j=1,j=i D0(i, j) ◮ D1 ≥ 0

D0(1, 2) D0(2, 1) D1(1, 1)

Simulating Stochastic Processes with OMNeT++ 5 / 21

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Fakultät für Informatik, Lehrstuhl Informatik IV

ProFiDo - Processes Fitting Toolkit Dortmund

Trace ProFiDo PH Fitting MAP Fitting ARMA Fitting ARTA Fitting Result Visualization Analysis Simulation (OMNeT++)

◮ flexible Java-based toolkit for

consistent use of commandline-oriented fitting tools

◮ fitting of stochastic processes:

choose parameters such that characteristics of trace are matched

◮ visualization of properties ◮ workflows to realize different steps of

data preprocessing, parameter fitting and analysis of stochastic processes

Simulating Stochastic Processes with OMNeT++ 7 / 21

slide-8
SLIDE 8

Fakultät für Informatik, Lehrstuhl Informatik IV

ProFiDo - Processes Fitting Toolkit Dortmund

Simulating Stochastic Processes with OMNeT++ 8 / 21

slide-9
SLIDE 9

Fakultät für Informatik, Lehrstuhl Informatik IV

ProFiDo - Processes Fitting Toolkit Dortmund

OMNeT++

Simulating Stochastic Processes with OMNeT++ 8 / 21

slide-10
SLIDE 10

Fakultät für Informatik, Lehrstuhl Informatik IV

ProFiDo - XML Interchange Format

◮ XML interchange format for

description of stochastic processes

◮ ensures interoperability of

different fitting tools in a workflow 1.0 3.0 0.5

XML description

<map> <states>2</states> <d0>

  • 1.5

1.0 3.0 -3.0 </d0> <d1> 0.5 0.0 0.0 0.0 </d1> </map>

Simulating Stochastic Processes with OMNeT++ 9 / 21

slide-11
SLIDE 11

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:

  • utput out;

Simulating Stochastic Processes with OMNeT++ 10 / 21

slide-12
SLIDE 12

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:

  • utput out;

Simulating Stochastic Processes with OMNeT++ 10 / 21

slide-13
SLIDE 13

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:

  • utput out;

Simulating Stochastic Processes with OMNeT++ 10 / 21

slide-14
SLIDE 14

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-15
SLIDE 15

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

ArrivalProcess

◮ load process description

from XML file

◮ initialize Process ◮ deal with message events:

handleMessage()

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-16
SLIDE 16

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

Process

◮ abstract base class for

stochastic processes

◮ getNextRandomVariate():

implemented in inheriting classes

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-17
SLIDE 17

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

MAP

◮ draw random numbers

from Markovian Arrival Processes

◮ Simulation of the

underlying Markov chain

◮ Utility class Matrix to store

matrices D0 and D1

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-18
SLIDE 18

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

MAP

Initialization

◮ draw initial state from the

distribution defined by π (stationary distribution just after an arrival)

◮ π is the unique solution of

π(−D−1

0 D1) = π

normalized to 1

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-19
SLIDE 19

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

MAP

Simulation

◮ next transition time:

exponentially distributed with rate |D0(i, i)|

◮ next state: uniformly

distributed according to D0(i, j)/|D0(i, i)| and D1(i, j)/|D0(i, i)|

◮ Transition from D1:

Generate arrival ⇒ return sum of transition times

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-20
SLIDE 20

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

ARMA

◮ simulation of

Autoregressive Moving Average Processes

◮ initialization step to start in

a stationary state

◮ simulation step to draw

random numbers

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-21
SLIDE 21

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

ARTA

◮ simulation of

Autoregressive To Anything Processes

◮ initialization step to start in

a stationary state

◮ simulation step to draw

random numbers

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-22
SLIDE 22

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

ARTA

◮ simulation of

Autoregressive To Anything Processes

◮ combination of ARMA

process with arbitrary marginal distribution

◮ support for various

different distributions

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-23
SLIDE 23

Fakultät für Informatik, Lehrstuhl Informatik IV

OMNeT++ Arrival Process Module - Class Hierarchy

ArrivalProcess: cSimpleModule Process MAP ARMA ARTA Dist Uniform Exponential Triangular Normal Lognormal Johnson Erlang Gamma ChiSquare Weibull Matrix 2

Simulating Stochastic Processes with OMNeT++ 11 / 21

slide-24
SLIDE 24

Fakultät für Informatik, Lehrstuhl Informatik IV

Post-Processing of the Time Series

Transformation of generated interarrival times

◮ Fitted input process uses a different time scale than the rest of

the model

◮ Stochastic process (e.g. ARMA) might output invalid values

⇒ linear and non-linear transformations of the time series

◮ Specification using OMNeT++’s NED language expressions ◮ Transformation function is passed as parameter transform to

Arrival Process module

Simulating Stochastic Processes with OMNeT++ 12 / 21

slide-25
SLIDE 25

Fakultät für Informatik, Lehrstuhl Informatik IV

Application Examples

◮ Two application examples to show how the ArrivalProcess

module can be incorporated into OMNeT++ models

◮ First example: simple queueing model ◮ Second example: modified NClients model from the INET

Framework

◮ Simulation results support the observation that negligence of

autocorrelation may have serious impact on simulation results.

Simulating Stochastic Processes with OMNeT++ 13 / 21

slide-26
SLIDE 26

Fakultät für Informatik, Lehrstuhl Informatik IV

Example 1 - Queueing Model

◮ different configurations of the

model: MAP , ARTA, trace driven simulation, iid arrivals (Poisson process)

◮ different utilization levels for

the server

◮ queue length distribution as

result measure

Configuration

[General] network = Example1 **.server.serviceTime = exponential(0.5s) **.server.buffer = 10 [Config MAP] description = "Arrivals from MAP" **.arrivalProcess.model = xmldoc("map.xml") [Config ARTA] description = "Arrivals from ARTA process" **.arrivalProcess.model = xmldoc("arta.xml") Simulating Stochastic Processes with OMNeT++ 14 / 21

slide-27
SLIDE 27

Fakultät für Informatik, Lehrstuhl Informatik IV

Example 1 - Queue Length Distribution

ρ = 0.4:

1e-05 0.0001 0.001 0.01 0.1 1 2 4 6 8 10 probability queue length Trace Dist MAP ARTA

ρ = 0.8:

0.01 0.1 1 2 4 6 8 10 probability queue length Trace Dist MAP ARTA

Simulating Stochastic Processes with OMNeT++ 15 / 21

slide-28
SLIDE 28

Fakultät für Informatik, Lehrstuhl Informatik IV

Example 2 - NClients Model from INET Framework

◮ Four client hosts connected to a server via different routers.

Simulating Stochastic Processes with OMNeT++ 16 / 21

slide-29
SLIDE 29

Fakultät für Informatik, Lehrstuhl Informatik IV

Example 2 - NClients Model from INET Framework

Simulating Stochastic Processes with OMNeT++ 17 / 21

slide-30
SLIDE 30

Fakultät für Informatik, Lehrstuhl Informatik IV

Example 2 - NClients Model from INET Framework

◮ Four different configurations:

◮ Arrivals according to MAPs ◮ Arrivals according to ARTA process ◮ Trace driven simulation ◮ Poisson process (iid arrivals)

◮ Queue length distribution of server’s network interface and router

interfaces as result measures.

Simulating Stochastic Processes with OMNeT++ 18 / 21

slide-31
SLIDE 31

Fakultät für Informatik, Lehrstuhl Informatik IV

Example 2 - Queue Length Distribution

Server:

0.001 0.01 0.1 1 2 4 6 8 10 probability queue length Trace Dist ARTA MAP

Router:

1e-08 1e-07 1e-06 1e-05 0.0001 0.001 0.01 0.1 1 1 2 3 4 5 6 7 probability queue length Trace Dist ARTA MAP

Simulating Stochastic Processes with OMNeT++ 19 / 21

slide-32
SLIDE 32

Fakultät für Informatik, Lehrstuhl Informatik IV

Conclusions

◮ OMNeT++ module that can be used in simulation models as a

traffic source.

◮ Support for stochastic processes with wide variety of marginal

distributions.

◮ Random number generation according to ARMA processes,

ARTA processes and MAPs.

Simulating Stochastic Processes with OMNeT++ 20 / 21

slide-33
SLIDE 33

Fakultät für Informatik, Lehrstuhl Informatik IV

Conclusions

◮ Process description in XML format ◮ Module is linked to the toolkit ProFiDo for fitting stochastic

processes.

◮ Application examples demonstrate the importance of

incorporating autocorrelation into input models and how the new module can be used with existing models.

◮ ProFiDo and OMNeT++ Arrival Process Module freely available

(GPL): ⇒ http://ls4-www.cs.tu-dortmund.de/profido

Simulating Stochastic Processes with OMNeT++ 21 / 21