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:
- p_ij = P( job just finished at i will get immediate further processing
at j ) 1 <= i,j <= M
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
- Number of jobs is a random variable
- External arrivals can appear anywhere
- Extra destination for departures: p_i(M+1) = P( job departs from
network immediately after service at i )
Definitions at server i
- external arrivals \gamma_i
- internal arrivals
- total arrivals \lambda_i = \gamma_i + internal arrivals
- throughput X_i = \lambda_i
- total arrivals \lambda_i = \gamma_i + \sum_j X_j p_ji
- Remember: job can come back to where it just finished.
Solution procedure
- Write balance equations
- Solve balance equations
- Derive performance metrics
Example: pdf
Utilization
U_i = \lambda_i s_i
- s_i, the mean service time, is a parameter assumed to be known
Throughput
X - rate of jobs departing from the network
- X = \sum \gamma_i because the network is stable
- X = \sum \lambda_i p_i(M+1)
- Not too hard to prove that these are the same
Closed Networks in Steady State
- No external arrivals.
- No departures
- Number of jobs in the system, N, is constant
A. Single server per service centre
1. Total arrival rate
- \lambda_i = sum_j \lambda_j p_ji
- \sum_i p_ji = 1
- Balance equations give M equations, which are not linearly
independent
- Can only solve for ratios of \lambda_i
Example: pdf
2. Utilization
- Can only solve for rations of U_i
- U_i / U_j = (\lanbda_i / \lambda_j) * s_i/s_j: the factor in
paraenthesis is known
3. Throughput
Arbitrary decision
- Cut the system somewhere, e.g. at the arrival of server i
- Then X is the rate of jobs passing across the cut
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
- V_i = \lambda_i / X = \lambda_i / \lambda_0
3. Utilization
U_i = \lambda_i s_i = X V_i s_i = X D_i
- D_i = X s_i is the demand per job at server i
U_i / U_j = D_i / D_j
4. Upper bound on throughput
D = \sum D_i
X(n): throughput with N users
- X(1) = 1 / (D + Z)
- X(N) <= N/(Z + D) : equality when there is no contention
5. Bottleneck analysis
- b - server with highest demand
- D_b = max{D_i} = D_max
- U_b = X D_b <= 1
- X <= 1/D_max
Therefore, X(N) <= min( 1/D_max, N / (D+Z) )
6. Lower bound on mean response time
- Treat entire system as one server. Then R(N) = N/X - Z
- R(N) >= D = sum_i D_i because X(N) <= N / (D+Z)
- X(N) <= 1 / D_max, so that R(N) <= ND_max - Z
.
Return to: