Compute utilization, response time, average number of requests and throughput for a M/M/m/K finite capacity system. In a M/M/m/K system there are m \geq 1 identical service centers sharing a fixed-capacity queue. At any time, at most K ≥ m requests can be in the system, including those being served. The maximum queue length is K-m. This function generates and solves the underlying CTMC.
INPUTS
lambdaArrival rate (lambda>0)
muService rate (mu>0)
mNumber of servers (m ≥ 1)
KMaximum number of requests allowed in the system,
including those being served (K ≥ m)
nNumber of requests in the (0 ≤ n ≤ K).
OUTPUTS
UService center utilization
RService center response time
QAverage number of requests in the system
XService center throughput
p0Steady-state probability that there are no requests in the system.
pKSteady-state probability that there are K requests in the system (i.e., probability that the system is full).
pnSteady-state probability that there are n requests in the system (including those being served).
If this function is called with less than five arguments, lambda, mu, m and K can be either scalars, or vectors of the same size. In this case, the results will be vectors as well.
REFERENCES
See also: qsmm1,qsmminf,qsmmm.
The following code
## Given a M/M/m/K queue, compute the steady-state probability pn
## of having n jobs in the systen.
lambda = 0.2;
mu = 0.25;
m = 5;
K = 20;
n = 0:10;
pn = qsmmmk(lambda, mu, m, K, n);
plot(n, pn, "-o", "linewidth", 2);
xlabel("N. of jobs (n)");
ylabel("P_n");
title(sprintf("M/M/%d/%d system, \\lambda = %g, \\mu = %g", m, K, lambda, mu));
Produces the following figure
| Figure 1 |
|---|
![]() |
Package: queueing