**MEXMVA**

The Mean Value Analysis (MVA) algorithm is one of the most popular for evaluating the performance of separable (or product-form) closed queueing networks. In this page you can find a mex version of this famous algorithm written in C and compiled as mex file to be used in Matlab.

click here to download the c-mex source file

click here to download the compiled mex file (dll)

**How to use MEXMVA**

Just copy the mexmva.dll file in the a default directory of the mex files of Matlab (see the documentation of Matlab) or copy it in the same directory where there is the m-script that uses mexmva.

mexmva parameters: **[r,x] = mexmva(N0,L,Ld);**

is the vector*N0*of the**1 X C***Population*of the classes of the closed queueing network, whereis the number of classes. For instance, with the command N0 = [1 2 5]; you will assingn 1 client to the class 1, 2 clients to class 2, and 5 clients to the class 3.*C*is the matrix containing the**L***Service Demands*of the queueing centers of the network. It is amatrix, where*K X C*is the number of the centers. For instance with L = [1 0.5 0.5; 2 1 0], you will define two (K=2) centers with the respective Demand 1 0.5 0.5 for the class 1 2 3 of the first center, and 2 1 0 for the class 2 1 0 of the second center. If you don't want queuing centers (strange case) just use a vector of zeros [0 0 0 ... 0].**K**is the matrix of the**Ld***Delay Centers*. It is a. Exactly as for**J X C**, it defines delay centers instead of queuing centers. For instance with Ld = [1 0.2 0.1], you will define one (J=1) centers with the respective delay 1 0.2 0.1 for the class 1 2 3. If you don't want delay centers just use a vector of zeros [0 0 0 ... 0].**L**is the response time of the network. It is a**r**matrix. the element i,j of this matrix say the response time of the i-st center (queuing center if i<=k and delay center if >k) for the clients of the j-st class. With the Matlab command sum(r) you will evaluate the total response time for each class, and with the command sum(r')' the global response time of each center for all classes. Finally, sum(sum(r)) returns the total response time of the queueing network.*(K+J) X C*is the vector of the throughputs for each class. It is a*x*vector.*1 X C*

For further details about the MVA algorithm see the book:

E.D. Lazowska, J. Zahorjan, G.S. Graham, and K.C. Sevcik,
*Quantitative System Performance—Computer System Analysis Using Queueing
Network Models*. Englewood Cliffs, N.J.: Prentice-Hall, 1984.