Skip to content Skip to navigation

Connexions

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

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

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

      What is in a lens?

      Lens makers point to Connexions 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 Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

Convolution with Load-Dependent Service Rates

Module by: Bart Sinclair

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 01mMm=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 =πm0j=0 n m -1 λ m μ m j+1=πm0j=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 =πm0j=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,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 01mMm=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 01mMm=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=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 01m<M n M =0m=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 01m<M n M =0m=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

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 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 0im n m nj=1M n j =N π n 1 , , n m , , n M =k=nNall states n 1 n M n i 0im n m =kj=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