CS457 - System Performance Evaluation - Winter 2010


Public Service Announcements

  1. The weeks ahead
  2. Issues out of which on which exam questions could be based.

Lecture 25 - Queuing Theory

Analytic Queueing Theory

Concepts We Know

Parameters

With some change in notation.

  1. \lambda - arrival rate

    1/\lambda - mean interrival time

  2. 1/\mu - mean service time

    \mu - service rate

Carefully distinguish between

Stable system

Utilization

Little's Law

XE(r) = E(n)


New Concepts

Stochastic process

A sequence of random variables indexed by time: S0, S1, S2, ...

Markov process

A stochastic process in which S(n+1) is independent of S(0), ..., S(n-1), but may depend on S(n).

In performance evaluation, when we talk of a Markov process we usually also mean that the next transition occurs at a time distributed by an exponential distribution. Why? (You should already know this.)

Another useful property of the exponential distribution


Birth-death processes

A special process where only transitions to neighbouring states are possible That is, if we are in S(j) then the next state can be

  1. S(j-1), a death occurs.

    Death rate \mu_j.

  2. S(j+1), a birth occurs

    Birth rate \lambda_j.

  3. S(j), neither a birth nor a death occurs, or both a birth and death occur.

We now want to examine what happens, in a birth-death process, in the short time between t and t + \Delta t. Use the Poisson distribution.

  1. P(exactly one birth | n(t) = j ) = (\lambda_j \Delta t) * exp(-\lambda_j \Delta t) = \lambda_j \Delta t + terms that are quadratic or higher order in \Delta t
  2. P(exactly one death | n(t) = j ) = \mu_j \Delta t + o( (\Delta t)^2 )
  3. P(exactly zero births | n(t) = j ) = exp(-\lambda_j \Delta t) = 1 - \lambda \Delta t + o( (\Delta t)^2 )
  4. P(exactly zero deaths | n(t) = j ) = 1 - \mu_j \Delta t + o( (\Delta t)^2 )
  5. P(more than one birth and/or death) = o( (\Delta t)^2 )

Exercise for the reader. Explain how it is that this is equivalent to only Arrival and Departure events affecting the system state.

What happens between t and \Delta t ? Four possibilities

  1. Exactly one birth
  2. Exactly one death
  3. Neither a birth nor a death
  4. Something else

The book's notation: P(n(t) = j) = pj(t)

Then

This equation looks as though you could solve it!

Steady State Solutions

Reminder about transient versus steady state.

Definition of steady state: dp_j(t) / dt = 0.

Then

Solve this iteratively

  1. l0 p0 = m1 p1 => p1 = (l0/m1) p0
  2. (l1 + m1) p1 = l0 p0 + m2 p2 => (l1 + m1) (l0/m1) p0 = l0 p0 + m2 p2 => p2 = p0 (l1*l0 / m1*m0)
  3. ...
  4. pn = p0 (l_n-1*...*l1*l0 / m_n-1 *...*m1*m0)
  5. Set p0 by the condition sum_n pn = 1.

This looks like you could solve it further, but you can't. How could you possibly solve the differential equation above, in that case?

What do we do? Try simplified examples.

The Simplest Example M/M/1

First M: Markovian (Exponential) birth (interarrival) times

Second M: Markovian (Exponential) life/death (service) times

1: one server

Assumptions:

  1. \lambda_j = \lambda
  2. \mu_j = \mu
  3. Define r = \lambda / \mu

Then

  1. pn = r^n p0
  2. p0 = 1 / (1 + r + r^2 + ...) = 1 - r.
  3. pn = (1 - r) * r^n.

The mean number of jobs in the system is E(r) = sum_n n * (1 - r ) * r^n = r / (1 - r)

Little's law


Return to: