The Convolution Algorithm presented in the module on convolution is only
applicable to networks of queues with service rates that do not
depend on the number of jobs in the queues. We can extend this
basic algorithm to incorporate queues with load-dependent service
rates as well.
For any product-form queueing network with
MM queues, the probability of being
in a state with
n
m
n
m
jobs in queue mm is given by
π
n
1
n
2
…
n
M
=π1
n
1
π2
n
2
⋯πM
n
M
K
π
n
1
n
2
…
n
M
π
1
n
1
π
2
n
2
⋯
π
M
n
M
K
(1)
where
πm
n
m
π
m
n
m
is the probability of
n
m
n
m
jobs in queue
mm if the queue were
in isolation with a Poisson input process, and
KK is a normalization constant. In
the case of an open network,
KK is
always 1. For closed networks,
KK
is determined by the constraint that the state probabilities sum
to 1; i.e.,
K=∑all states∈
n
1
′
n
2
′
…
n
M
′
n
M
′
≥0∧1≤m≤M∧∑m=1M
n
m
′
=Nπ1
n
1
′
π2
n
2
′
⋯πM
n
M
′
K
all states
n
1
′
n
2
′
…
n
M
′
n
M
′
0
1
m
M
m
1
M
n
m
′
N
π
1
n
1
′
π
2
n
2
′
⋯
π
M
n
M
′
(2)
with
NN being the total number of
jobs in the system.
The state probability distributions
πm
n
m
π
m
n
m
are the solutions to birth-and-death processes with
arrival rates
λ
m
λ
m
and possibly load-dependent service rates
μ
m
n
m
μ
m
n
m
; that is,
πm
n
m
=πm0∏j=0
n
m
-1
λ
m
μ
m
j+1=πm0∏j=1
n
m
λ
m
μ
m
j
π
m
n
m
π
m
0
j
0
n
m
1
λ
m
μ
m
j
1
π
m
0
j
1
n
m
λ
m
μ
m
j
(3)
Define
A
m
n=∏k=1n
μ
m
k
μ
m
1
A
m
n
k
1
n
μ
m
k
μ
m
1
Then,
πm
n
m
=πm0∏j=1
n
m
λ
m
μ
m
1
μ
m
1
μ
m
j=πm0
ρ
m
n
m
∏j=1
n
m
μ
m
1
μ
m
j=πm0
ρ
m
n
m
A
m
n
m
π
m
n
m
π
m
0
j
1
n
m
λ
m
μ
m
1
μ
m
1
μ
m
j
π
m
0
ρ
m
n
m
j
1
n
m
μ
m
1
μ
m
j
π
m
0
ρ
m
n
m
A
m
n
m
(4)
where
ρ
m
=
λ
m
μ
m
1
ρ
m
λ
m
μ
m
1
may or may not be the actual utilization of queue
mm. Hence,
π
n
1
n
2
…
n
M
=π10
ρ
1
n
1
A
1
n
1
π20
ρ
2
n
2
A
2
n
2
⋯πM0
ρ
M
n
M
A
M
n
M
K=
ρ
1
n
1
A
1
n
1
ρ
2
n
2
A
2
n
2
⋯
ρ
M
n
M
A
M
n
M
C
π
n
1
n
2
…
n
M
π
1
0
ρ
1
n
1
A
1
n
1
π
2
0
ρ
2
n
2
A
2
n
2
⋯
π
M
0
ρ
M
n
M
A
M
n
M
K
ρ
1
n
1
A
1
n
1
ρ
2
n
2
A
2
n
2
⋯
ρ
M
n
M
A
M
n
M
C
(5)
and
C=Kπ10π20πM0
C
K
π
1
0
π
2
0
π
M
0
is another constant. Let
∀m,1≤m≤M:
ρ
m
=α
μ
m
m
1
m
M
ρ
m
α
μ
m
. Then as we saw in the case of single-server queues,
π
n
1
n
2
…
n
M
=
u
1
n
1
A
1
n
1
u
2
n
2
A
2
n
2
⋯
u
M
n
M
A
M
n
M
GN
π
n
1
n
2
…
n
M
u
1
n
1
A
1
n
1
u
2
n
2
A
2
n
2
⋯
u
M
n
M
A
M
n
M
G
N
(6)
GN=CαN
G
N
C
α
N
is the scaled normalization constant.
GN=∑all states∈
n
1
′
n
2
′
…
n
M
′
n
m
′
≥0∧1≤m≤M∧∑m=1M
n
m
′
=N
u
1
n
1
′
A
1
n
1
′
u
2
n
2
′
A
2
n
2
′
⋯
u
M
n
M
′
A
M
n
M
′
G
N
all states
n
1
′
n
2
′
…
n
M
′
n
m
′
0
1
m
M
m
1
M
n
m
′
N
u
1
n
1
′
A
1
n
1
′
u
2
n
2
′
A
2
n
2
′
⋯
u
M
n
M
′
A
M
n
M
′
(7)
At this point, let's simplify the discussion and assume that
there is only one queue, queue
MM,
which has load-dependent service rates. Hence
∀m,1≤m<n:
A
m
n
m
=1
m
1
m
n
A
m
n
m
1
, and
π
n
1
n
2
…
n
M
=
u
1
n
1
u
2
n
2
⋯
u
M
−
1
n
M
−
1
u
M
n
M
A
M
n
M
GN
π
n
1
n
2
…
n
M
u
1
n
1
u
2
n
2
⋯
u
M
−
1
n
M
−
1
u
M
n
M
A
M
n
M
G
N
(8)
GN=∑all states∈
n
1
′
n
2
′
…
n
M
′
n
m
′
≥0∧1≤m≤M∧∑m=1M
n
m
′
=N
u
1
n
1
′
u
2
n
2
′
⋯
u
M
−
1
n
M
−
1
′
u
M
n
M
′
A
M
n
M
′
G
N
all states
n
1
′
n
2
′
…
n
M
′
n
m
′
0
1
m
M
m
1
M
n
m
′
N
u
1
n
1
′
u
2
n
2
′
⋯
u
M
−
1
n
M
−
1
′
u
M
n
M
′
A
M
n
M
′
(9)
As before, we will define
gnm
g
n
m
to be the scaled normalization constant when there are
nn jobs and
mm queues in the network. Also as
before, we will separate the terms in
gnm
g
n
m
into groups. Now, however, instead of separating them
into two groups based on whether or not a term has a factor of
u
m
u
m
, we will separate them into
n+1
n
1
groups, one group for all terms with a factor
u
m
k
u
m
k
,
0≤k≤n
0
k
n
.
For the group with factor
u
m
k
u
m
k
, we can factor out the
u
m
k
u
m
k
term. For example,
∀k,k=n:
u
m
n
A
m
n1
k
k
n
u
m
n
A
m
n
1
∀k,k=n-1:
u
m
n-1
A
m
n-1
u
1
+
u
2
+…+
u
M
-
1
k
k
n
1
u
m
n
1
A
m
n
1
u
1
u
2
…
u
M
-
1
∀k,k=n-2:
u
m
n-2
A
m
n-2
u
1
2+
u
2
2+…+
u
M
-
1
2+
u
1
u
2
+
u
1
u
3
+…+
u
M
-
2
u
M
-
1
k
k
n
2
u
m
n
2
A
m
n
2
u
1
2
u
2
2
…
u
M
-
1
2
u
1
u
2
u
1
u
3
…
u
M
-
2
u
M
-
1
For each value of kk, the terms in
parenthesis are just
gn-km-1
g
n
k
m
1
. Hence,
gnm=∑k=0n
u
m
k
A
m
kgn-km-1
g
n
m
k
0
n
u
m
k
A
m
k
g
n
k
m
1
(10)
With no jobs in the system, there is only one state, and
g0m=1
g
0
m
1
. if there is only one queue in the system, again there
is only one state, and we have
gn1=
u
1
n
A
1
n
g
n
1
u
1
n
A
1
n
. From these starting conditions and the recurrence
relation for
gnm
g
n
m
above, we can derive an algorithm similar to the basic
Convolution Algorithm for single-server queues. However,
instead of computing each term using the terms immediately above
and to the left, we use all the terms in the column to the left,
down to the same row.
Finally, suppose that the queue with load-dependent service
rate is an IS queue. IS in the context of a closed network does
not necessarily mean that there are an infinite number of
servers, since there is only a finite number of jobs. What is
important is the queue have a service rate that scales linearly
with the number of jobs; i.e.,
u
m
k=k
u
m
1
u
m
k
k
u
m
1
. For a queue with this property,
A
m
k
A
m
k
is just
k!
k
, and
gnm=∑k=0n
u
m
kk!gn-km-1
g
n
m
k
0
n
u
m
k
k
g
n
k
m
1
(11)
The utilization of the one queue with a load-dependent service
rate is the probability that the server is busy, which is 1
minus the probability that the queue is empty.
Pr
N
m
=0=∑all states∈
n
1
n
2
…
n
M
n
m
≥0∧1≤m<M∧
n
M
=0∧∑m=1M-1
n
m
=N
ρ
1
n
1
ρ
2
n
2
⋯
ρ
M
−
1
n
M
−
1
C=∑all states∈
n
1
n
2
…
n
M
n
m
≥0∧1≤m<M∧
n
M
=0∧∑m=1M-1
n
m
=N
u
1
n
1
u
2
n
2
⋯
u
M
−
1
n
M
−
1
GN=gNM-1gN
N
m
0
all states
n
1
n
2
…
n
M
n
m
0
1
m
M
n
M
0
m
1
M
1
n
m
N
ρ
1
n
1
ρ
2
n
2
⋯
ρ
M
−
1
n
M
−
1
C
all states
n
1
n
2
…
n
M
n
m
0
1
m
M
n
M
0
m
1
M
1
n
m
N
u
1
n
1
u
2
n
2
⋯
u
M
−
1
n
M
−
1
G
N
g
N
M
1
g
N
(12)
ρ
M
=1-gNM-1gNM
ρ
M
1
g
N
M
1
g
N
M
For any queue mm, the probability
that it has at least nn jobs in
it is the sum of the state probabilities over all states for
which
n
m
≥n
n
m
n
. For single-server queues with load-independent
service rates, this sum was the same as the normalization
constant for
N-n
N
n
jobs, multiplied by
u
m
n
u
m
n
; i.e.,
Pr
N
m
≥n=
u
m
nGN-nGN
N
m
n
u
m
n
G
N
n
G
N
However, this is not true for load-dependent servers,
including infinite servers.
Pr
N
m
≥n=∑all states∈
n
1
…
n
M
n
i
≥0∧i≠m∧
n
m
≥n∧∑j=1M
n
j
=N
π
n
1
,
…
,
n
m
,
…
,
n
M
=∑k=nN∑all states∈
n
1
…
n
M
n
i
≥0∧i≠m∧
n
m
=k∧∑j=1M
n
j
=N
π
n
1
,
…
,
n
m
,
…
,
n
M
N
m
n
all states
n
1
…
n
M
n
i
0
i
m
n
m
n
j
1
M
n
j
N
π
n
1
,
…
,
n
m
,
…
,
n
M
k
n
N
all states
n
1
…
n
M
n
i
0
i
m
n
m
k
j
1
M
n
j
N
π
n
1
,
…
,
n
m
,
…
,
n
M
(13)
For each value of
kk in the
second summation, each probability contains a factor
u
m
k
A
m
k
u
m
k
A
m
k
, and
u
m
k
A
m
k=
u
m
n
A
m
n
u
m
k-n
A
m
k
A
m
n≠
u
m
n
A
m
n
u
m
k-n
A
m
k-n
u
m
k
A
m
k
u
m
n
A
m
n
u
m
k
n
A
m
k
A
m
n
u
m
n
A
m
n
u
m
k
n
A
m
k
n
Hence,
Pr
N
m
≥n≠
u
m
n
A
m
nGN-nGN
N
m
n