Function File: [U, R, Q, X] = qncmmvabs (N, S, V)
Function File: [U, R, Q, X] = qncmmvabs (N, S, V, m)
Function File: [U, R, Q, X] = qncmmvabs (N, S, V, m, Z)
Function File: [U, R, Q, X] = qncmmvabs (N, S, V, m, Z, tol)
Function File: [U, R, Q, X] = qncmmvabs (N, S, V, m, Z, tol, iter_max)

Approximate Mean Value Analysis (MVA) for closed, multiclass queueing networks with K service centers and C customer classes.

This implementation uses Bard and Schweitzer approximation. It is based on the assumption that the queue length at service center k with population set {\bf N}-{\bf 1}_c is approximated with

Q_k(N-1c) ~ (n-1)/n Q_k(N)

where \bf N is a valid population mix, {\bf N}-{\bf 1}_c is the population mix \bf N with one class c customer removed, and n = \sum_c N_c is the total number of requests.

This implementation works for networks with infinite server (IS) and single-server nodes only.

INPUTS

N(c)

number of class c requests in the system (N(c) ≥ 0).

S(c,k)

mean service time for class c customers at center k (S(c,k) ≥ 0).

V(c,k)

average number of visits of class c requests to center k (V(c,k) ≥ 0).

m(k)

number of servers at center k. If m(k) < 1, then the service center k is assumed to be a delay center (IS). If m(k) == 1, service center k is a regular queueing center (FCFS, LCFS-PR or PS) with a single server node. If omitted, each service center has a single server. Note that multiple server nodes are not supported.

Z(c)

class c external delay (Z ≥ 0). Default is 0.

tol

Stopping tolerance (tol>0). The algorithm stops if the queue length computed on two subsequent iterations are less than tol. Default is 10^{-5}.

iter_max

Maximum number of iterations (iter_max>0. The function aborts if convergenge is not reached within the maximum number of iterations. Default is 100.

OUTPUTS

U(c,k)

If k is a FCFS, LCFS-PR or PS node, then U(c,k) is the utilization of class c requests on service center k. If k is an IS node, then U(c,k) is the class c traffic intensity at device k, defined as U(c,k) = X(c)*S(c,k)

R(c,k)

response time of class c requests at service center k.

Q(c,k)

average number of class c requests at service center k.

X(c,k)

class c throughput at service center k.

REFERENCES

  • Y. Bard, Some Extensions to Multiclass Queueing Network Analysis, proc. 4th Int. Symp. on Modelling and Performance Evaluation of Computer Systems, Feb 1979, pp. 51–62.
  • P. Schweitzer, Approximate Analysis of Multiclass Closed Networks of Queues, Proc. Int. Conf. on Stochastic Control and Optimization, jun 1979, pp. 25–29.

This implementation is based on Edward D. Lazowska, John Zahorjan, G. Scott Graham, and Kenneth C. Sevcik, Quantitative System Performance: Computer System Analysis Using Queueing Network Models, Prentice Hall, 1984. http://www.cs.washington.edu/homes/lazowska/qsp/. In particular, see section 7.4.2.2 ("Approximate Solution Techniques"). This implementation is slightly different from the one described above, as it computes the average response times R instead of the residence times.

See also: qncmmva.

Demonstration 1

The following code

 S = [ 1, 1, 1, 1; 2, 1, 3, 1; 4, 2, 3, 3 ];
 V = ones(3,4);
 N = [10 5 1];
 m = [1 0 1 1];
 [U R Q X] = qncmmvabs(N,S,V,m);

gives an example of how 'qncmmvabs' is used.

Package: queueing