Skip to content Skip to navigation

Connexions

You are here: Home » Content » Convolution with Load-Dependent Service Rates

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Convolution with Load-Dependent Service Rates

Module by: Bart Sinclair. E-mail the author

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)(1mM)(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 = π m 0j=0 n m 1 λ m μ m j+1= π m 0j=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 = π m 0j=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 π 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 = π 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 π 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 π 1 0 π 2 0 π M 0 C K π 1 0 π 2 0 π M 0 is another constant. Let m,1mM: ρ 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)(1mM)(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,1m<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)(1mM)(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 , 0kn 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=n1: u m n1 A m n1( 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=n2: u m n2 A m n2( 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 gnkm1 g n k m 1 . Hence,

gnm=k=0n u m k A m kgnkm1 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!gnkm1 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)(1m<M)( n M =0)(m=1M1 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)(1m<M)( n M =0)(m=1M1 n m =N) u 1 n 1 u 2 n 2 u M 1 n M 1 GN=gNM1gN 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 =1gNM1gNM ρ M 1 g N M 1 g N M

Expected number of jobs in a load-dependent server queue:

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 Nn N n jobs, multiplied by u m n u m n ; i.e., Pr N m n= u m nGNnGN 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)(im)( n m n)(j=1M n j =N) π n 1 , , n m , , n M =k=nNall states n 1 n M ,( n i 0)(im)( 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 kn A m k A m n u m n A m n u m kn A m kn 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 nGNnGN N m n u m n A m n G N n G N
(14)

This means that in general there is no simple way to compute the expected number of jobs in a load-dependent server queue using the normalization constants. If we are interested in the expected number of jobs in the last queue and it is a load-dependent server, however, we can still avoid computing individual state probabilities, even if there are other load-dependent servers in the network.

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=nNall states n 1 n M ,( n i 0)(i<M)( n M =k)(j=1M n j =N) π n 1 , , n m , , n M =k=nN u M k A m kgNkM1gNM 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 k n N u M k A m k g N k M 1 g N M
(15)
E N M =n=1NPr N M n=n=1Nk=nN u M k A M kgNkM1gNM=k=1Nk u M k A M kgNkM1gNM N M n 1 N N M n n 1 N k n N u M k A M k g N k M 1 g N M k 1 N k u M k A M k g N k M 1 g N M
(16)
If the load-dependent server is an IS queue, we can simplify this even further: E N M =k=1N u M k(k1)!gNkM1gNM N M k 1 N u M k k 1 g N k M 1 g N M If there is only one load-dependent server queue in the network, the obvious approach is to make it the last queue and use the above method. What if there are L>1 L 1 load-dependent server queues? We can use the convolution algorithm once for each load-dependent queue, putting a different load-dependent server queue last each time. This actually only requires L1 L 1 applications of the Convolution Algorithm. Compute the expected queue lengths in all of the load-independent server queues with one application of the Convolution Algorithm. Then use these values with those computed for L1 L 1 of the load-dependent server queues to find how many jobs are in the remaining queue.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks