# 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

• e.g., Little's law

### 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
• Remember: job can come back to where it just finished.

#### Solution procedure

1. Write balance equations
2. Solve balance equations
3. 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

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

• \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

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

.