Jump to content

Mean value analysis: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎Schweitzer's approximation: add pseudocode section
Line 28: Line 28:
==Schweitzer's approximation==
==Schweitzer's approximation==


Schweitzer's approximation approximates the average number of jobs at node ''k'' by<ref>{{cite doi|10.2200/S00282ED1V01Y201005CSL002}}</ref>{{rp|38}}
Schweitzer's approximation approximates the average number of jobs at node ''k'' by<ref>{{cite doi|10.1007/BFb0013865}}</ref><ref>{{cite journal | last = Schweitzer | first = Paul | title = Approximate analysis of multiclass closed networks of queues | journal = Proceedings of International Conference on Stochastic Control and Optimization | year = 1979}}</ref>


:<math>L_k(m-1) \approx \frac{m-1}{m} L_k(m)</math>
:<math>L_k(m-1) \approx \frac{m-1}{m} L_k(m)</math>


which from the above formulas yields [[fixed-point iteration|fixed-point relationships]] which can be solved numerically. This iterative approach is typically faster than the recursive approach of MVA.<ref>{{cite doi|10.2200/S00282ED1V01Y201005CSL002}}</ref>{{rp|38}}
in step 1 above. In step 3 this gives a fixed point relationship for ''L''<sub>''k''</sub>(''m'') which can be solved iteratively with starting value ''M''/''K'' until convergence (when step size is smaller than a given threshold). As it avoids the recursion it is faster than MVA and especially suited for networks with multiple customer classes.<ref>{{cite journal | last = Schweitzer | first = Paul | title = Approximate analysis of multiclass closed networks of queues | journal = Proceedings of International Conference on Stochastic Control and Optimization | year = 1979}}</ref>

===Pseudo-code for algorithm===

<tt>
set ''L''<sub>''k''</sub>(''m'') = ''M''/''K''

repeat until convergence:

::<math>\lambda_m = \frac{m}{\sum_{k=1}^K \frac{\frac{m-1}{m}L_k(m) + 1}{\mu_k} v_k}</math>
::<math>L_k(m) = v_k \lambda_m \frac{\frac{m-1}{m}L_k(m) + 1}{\mu_k}</math>

</tt>


==Multiclass networks==
==Multiclass networks==

Revision as of 10:36, 20 June 2013

In queueing theory, a discipline within the mathematical theory of probability, mean value analysis (MVA) is a recursive technique for computing expected queue lengths, waiting time at queueing nodes and throughput in equilibrium for a closed separable system of queues. It was developed by Reiser and Lavenberg and first published in 1980.[1][2]

It is based on the arrival theorem, which states that when one customer in an M-customer closed system arrives at a service facility he/she observes the rest of the system to be in the equilibrium state for a system with M − 1 customers.

Problem setup

Consider a closed queueing network of K M/M/1 queues, with M customers circulating in the system. To compute the mean queue length and waiting time at each of the nodes and throughput of the system we use an iterative algorithm starting with a network with 0 customers.

Write μi for the service rate at node i and P for the customer routing matrix where element pij denotes the probability that a customer finishing service at node i moves to node j for service. To use the algorithm we first compute the visit ratio row vector v, a vector such that v = v P.

Now write Li(n) for the mean number of customer at queue i when there are a total of n customers in the system (this includes the job currently being served at queue i) and Wj(n) for the mean time spent by a customer in queue i when there are a total of n customers in the system. Denote the throughput of a system with m customers by λm.

Algorithm

The algorithm[3] starts with an empty network (zero customers), then increases the number of customers by 1 at each iteration until there are the required number (M) of customers in the system.

To initialise, set Lk(0) = 0 for k = 1,...,K. (This sets the average queue length in a system with no customers to zero at all nodes.)

Repeat for m = 1,...,M:

1. For k = 1, ..., K compute the waiting time at each node using the arrival theorem
2. Then compute the system throughput using Little's law
3. Finally, use little's law applied to each queue to compute the mean queue lengths for k = 1, ..., K

End repeat.

Schweitzer's approximation

Schweitzer's approximation approximates the average number of jobs at node k by[4][5]

which from the above formulas yields fixed-point relationships which can be solved numerically. This iterative approach is typically faster than the recursive approach of MVA.[6]: 38 

Pseudo-code for algorithm

set Lk(m) = M/K

repeat until convergence:

Multiclass networks

For networks with a single customer class the MVA algorithm is very fast and time taken grows linearly with the number of customers and number of queues. However, the number of multiplications and additions required for MVA grows exponentially with the number of customer classes. Practically, the algorithm works for 3-4 customer classes.[7] The method of moments is an exact method which required log-quadratic time and can solve models with up to 10 classes of customers.[7] Approximate algorithms have also been proposed with lower complexity.[8]

Extensions

The mean value analysis algorithm has been applied to a class of PEPA models describing queueing networks and the performance of a key distribution center.[9]

Software

External links

References

  1. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/322186.322195, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1145/322186.322195 instead.
  2. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1007/3-540-46506-5_22, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1007/3-540-46506-5_22 instead.
  3. ^ Bose, Sanjay K. (2001). An introduction to queueing systems. Springer. p. 174. ISBN 0-306-46734-8.
  4. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1007/BFb0013865, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1007/BFb0013865 instead.
  5. ^ Schweitzer, Paul (1979). "Approximate analysis of multiclass closed networks of queues". Proceedings of International Conference on Stochastic Control and Optimization.
  6. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.2200/S00282ED1V01Y201005CSL002, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.2200/S00282ED1V01Y201005CSL002 instead.
  7. ^ a b Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1016/j.peva.2010.12.009, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1016/j.peva.2010.12.009 instead.
  8. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/79147.214074, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1145/79147.214074 instead.
  9. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1093/comjnl/bxq064, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1093/comjnl/bxq064 instead.
  10. ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/1530873.1530877, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with |doi=10.1145/1530873.1530877 instead.