Analytical Models for Systems with Workload Burstiness

Getting Started

After downloading the MAP QN Toolbox from the Download section, add the directory containing the scripts to the MATLAB path. From now on you will be able to call the MAP QN Toolbox function from the MATLAB interface.

Let's see some simple examples of MAP queueing networks. We will first start from special cases without burstiness (Example 1 and Example 2) and then we will focus on MAP queueing networks with bursty service times.

Example 1 (MATLAB, Product-Form Queueing Network)

The queueing network is composed by two tandem queues with exponential service times. The mean service time at the first queue is 3s, the mean service time at the second queue is 4s; the total population is 5 jobs. We want to compute the mean throughput of the model measured at the output of queue 1. This is done by first defining the routing matrix P which describes the topology

`>> P=[0,1;1,0]`followed by the specification of the service processes

```>> MEAN1=3; MEAN2=4; >> Q1=map_exponential(MEAN1); >> Q2=map_exponential(MEAN2);```and of the total population

`>> N=5;`At this point, to compute the mean throughput of the network it is sufficient to type

```>> mapqn_ezsolve({Q1;Q2},N,P) ans = 0.2320```To compute the exact queue-length and utilization values the right invocation is

```>> [XN,QN,UN]=mapqn_ezsolve({Q1;Q2},N,P); ```Now the utilization and queue-lengths, e.g., of queue 2, are respectively

```>> UTIL2=sum(UN(2,:)) UTIL2 = 0.9278 >> QLEN2=sum(QN(2,:)) QLEN2 = 3.2991```Further details on the output values of the mapqn_ezsolve function can be obtained by typing

`>> help mapqn_ezsolve`
Example 2 (MATLAB, Queueing Network with High Service Variability/GI)

Consider the same network of Example 1 and assume that we wish to add  a third queue with hyper-exponential service times (mean 7, squared coefficient of variation 25, stage selection probability p=0.99) and placed in parallel to the second queue. A job goes from queue 1 to queue 2 with probability 70%, to queue 3 with probability 20%, otherwise with probability 10% it immediately loops back in queue 1.
This system is specificied as follows.

```>> P=[0.1,0.7,0.2;1,0,0;1,0,0]; >> MEAN1=3; MEAN2=4; MEAN3=7; SCV3=25; p=0.99; >> Q1=map_exponential(MEAN1); >> Q2=map_exponential(MEAN2); >> Q3=map_hyperexp(MEAN3,SCV3,p); >> N=5; >> [XN,QN,UN]=mapqn_ezsolve({Q1;Q2;Q3},N,P); >> XN XN = 0.2546 ```Example 3 (MATLAB, MAP Queueing Networks)

Suppose to modify queue 3 in the Example 2 with a two-phase MAP process having skewness 10 and autocorrelation function that at lag-1 is 0.35. We have:

``` >> MEAN1=3; MEAN2=4; MEAN3=7; SCV3=25; SKEW3=10; ACF3=0.35; >> Q1=map_exponential(MEAN1); >> Q2=map_exponential(MEAN2); >> Q3=map_mmpp2(MEAN3,SCV3,SKEW3,ACF3); >> N=5; >> [XN,QN,UN]=mapqn_ezsolve({Q1;Q2;Q3},N,P); >> XN XN = >> P=[0.1,0.7,0.2;1,0,0;1,0,0]; 0.2318 ```