CS457 - System Performance Evaluation - Winter 2008


Questions and Comments


Lecture 32

Analytic Queueing Theory - Queueing Networks

Text: Chapters 30--36

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: