CS457 - System Performance Evaluation - Winter 2010


Public Service Announcement

  1. pdf available
  2. Markovian service times

Lecture 31 - Final Example of Birth & Death Processes

Birth & Death Processes

Derivation

Basic Result

dp_j(t) / dt = \lambda_j-1 p_j-1(t) + \mu_j+1 p_j+1(t) - (\lambda_j + \mu_j) p_j(t)

Steady State Solutions...

  1. pn = p0 (l_(n-1)*...*l1*l0 / m_n *...*m1)
  2. Set p0 by the condition sum_n p_n = 1.

Example 1: Infinite Queue


Example 2: Finite Queue


Example 3: Two Servers versus One Server Twice as Powerful

One Server Twice as Powerful

Service rate and time:

Number of requests

Response Time

Utilization

Two Servers with One Queue

Birth & Death Coefficients
Number of requests in the system, j 0 1 2 3 ...
Probability of a birth, \lambda_j \lambda \lambda \lambda \lambda ...
Probability of a death, \mu_j 0 \mu 2 \mu 2 \mu ...

Incremental Solution

Now normalize,

Thus, p_n = (2-r) r^n / (2+r)

Results

The mean number of jobs in the system is

Little's law

Utilization

Example 4: Finite Population of Users (Think time Model)


Example 5: Deterministic Service Times

Assume that the system is stable.

State by State Analysis

Average response time

E[R] = (m/2) * P(busy) + m * P(idle ) + \sum_j=1 p_j (jm )

P(busy) = \lambda * m

E[R] = (m/2) * (\lambda * m) + m * ( 1 - \lambda * m ) + m * E[N]

E[R] = (m/2) * (\lambda * m) + m * ( 1 - \lambda * m ) + m * \lambda * E[R]

E[R] = { (m/2) * (\lambda * m) + m * ( 1 - \lambda * m ) } / { 1 - m * \lambda }

E[R] = m { 2 - \sigma } / {2 * (1 - \sigma)}

E[N] = { (\sigma/2) * \sigma + \sigma * ( 1 - \sigma ) } / { 1 - \sigma }

E[N] = { \sigma * (2 -\sigma) } / {2 * (1 - \sigma)}

U = P(busy) = \sigma

Results


General Markov Processes

Solution method

  1. Draw state transition diagram
  2. Obtain balance condition equations: rate in equals rate out
  3. Solve balance equations with normalizing equation
  4. Determine performance metrics from pn

Simple in principle. May be complex in practice.


Analytic Queueing Theory - Queueing Networks

Collection of interacting service providers.

One new concept:

Operational Analysis

Very similar to what we did near the beginning of the course

Open Networks in Steady State

Jobs enter the network and depart from it

  1. Number of jobs is a random variable
  2. External arrivals can appear anywhere
  3. Extra destination for departures: p_i(M+1) = P( job departs from network immediately after service at i )

Definitions at server i

  1. external arrivals \gamma_i
  2. internal arrivals
  3. total arrivals \lambda_i = \gamma_i + internal arrivals
  4. throughput X_i = \lambda_i
  5. total arrivals \lambda_i = \gamma_i + \sum_j X_j p_ji

Solution procedure

  1. Write balance equations
  2. Solve balance equations
  3. Derive performance metrics

Example: pdf

Utilization

U_i = \lambda_i s_i

Throughput

X - rate of jobs departing from the network

  1. X = \sum \gamma_i because the network is stable
  2. X = \sum \lambda_i p_i(M+1)
  3. Not too hard to prove that these are the same

Closed Networks in Steady State

  1. No external arrivals.
  2. No departures
  3. Number of jobs in the system, N, is constant

A. Single server per service centre

1. Total arrival rate

Example: pdf

2. Utilization

3. Throughput

Arbitrary decision

B. Interactive System in Steady State

1. Call the set of terminals server 0

2. Throughput

Cut at entrance to terminals: X = \lambda_0

Define visit ratio: number of visits to service i per job

3. Utilization

U_i = \lambda_i s_i = X V_i s_i = X D_i

4. Upper bound on throughput

D = \sum D_i

X(n): throughput with N users

5. Bottleneck analysis

  1. b - server with highest demand
  2. D_b = max{D_i} = D_max
  3. U_b = X D_b <= 1
  4. X <= 1/D_max

Therefore, X(N) <= min( 1/D_max, N / (D+Z) )

6. Lower bound on mean response time

  1. Treat entire system as one server. Then R(N) = N/X - Z
  2. R(N) >= D = sum_i D_i because X(N) <= N / (D+Z)
  3. X(N) <= 1 / D_max, so that R(N) <= ND_max - Z

.


Return to: