Exact analysis of open, multiple-class BCMP networks. The network can be made of single-server queueing centers (FCFS, LCFS-PR or PS) or delay centers (IS). This function assumes a network with K service centers and C customer classes.
INPUTS
lambda(c)
If this function is invoked as qnom(lambda, S, V, …)
,
then lambda(c)
is the external arrival rate of class
c customers (lambda(c) ≥ 0
). If this
function is invoked as qnom(lambda, S, P, …)
, then
lambda(c,k)
is the external arrival rate of class
c customers at center k (lambda(c,k)
≥ 0
).
S(c,k)
mean service time of class c customers on the service center
k (S(c,k)>0
). For FCFS nodes, mean service
times must be class-independent.
V(c,k)
visit ratio of class c customers to service center k
(V(c,k) ≥ 0
). If you pass this argument,
class switching is not allowed
P(r,i,s,j)
probability that a class r job completing service at center
i is routed to center j as a class s job.
If you pass argument P, class switching is allowed;
however, all servers must be fixed-rate or infinite-server nodes
(m(k) ≤ 1
for all k).
m(k)
number of servers at center k. If m(k) < 1
,
enter k is a delay center (IS); otherwise it is a regular
queueing center with m(k)
servers. Default is
m(k) = 1
for all k.
OUTPUTS
U(c,k)
If k is a queueing center, then U(c,k)
is the
class c utilization of center k. If k is an IS
node, then U(c,k)
is the class c traffic
intensity defined as X(c,k)*S(c,k)
.
R(c,k)
class c response time at center k. The system
response time for class c requests can be computed as
dot(R, V, 2)
.
Q(c,k)
average number of class c requests at center k. The
average number of class c requests in the system Qc
can be computed as Qc = sum(Q, 2)
X(c,k)
class c throughput at center k.
NOTES
If the function call specifies the visit ratios V, class switching is not allowed. If the function call specifies the routing probability matrix P, then class switching is allowed; however, all nodes are restricted to be fixed rate servers or delay centers: multiple-server and general load-dependent centers are not supported. Note that the meaning of parameter lambda is different from one case to the other (see below).
REFERENCES
See also: qnopen,qnos,qnomvisits.
The following code
P = zeros(2,2,2,2); lambda = zeros(2,2); S = zeros(2,2); P(1,1,2,1) = P(1,2,2,1) = 0.2; P(1,1,2,2) = P(2,2,2,2) = 0.8; S(1,1) = S(1,2) = 0.1; S(2,1) = S(2,2) = 0.05; rr = 1:100; Xk = zeros(2,length(rr)); for r=rr lambda(1,1) = lambda(1,2) = 1/r; [U R Q X] = qnom(lambda,S,P); Xk(:,r) = sum(X,1)'; endfor plot(rr,Xk(1,:),";Server 1;","linewidth",2, ... rr,Xk(2,:),";Server 2;","linewidth",2); legend("boxoff"); xlabel("Class 1 interarrival time"); ylabel("Throughput");
Produces the following figure
Figure 1 |
---|
Package: queueing