Queuing Network Model
Learned in SE464.
A type of software performance model, specifically a system execution model. QNMs characterize software’s performance in the presence of dynamic factors (other workloads, multiple users) and aim to solve contention for resources.
Performance metrics per server
- Residence time (RT): average time jobs spend in the server (in service + waiting)
- Utilization (U): average percentage of time the server is busy
- Throughput (X): average rate at which jobs complete service
- Queue length (N): average number of jobs at the server (in service + waiting)
Key formulas
Given the busy-time graph (W = area under the graph, B = total busy time, C = completions, T = total time):
- Throughput:
X = C / T - Utilization:
U = B / T - Mean service time:
B / C - Residence time:
RT = W / C - Queue length:
N = W / T
And the famous:
From ECE459 L32: Queueing for Performance [Wil13c]
Eight-step recipe to apply queueing theory to a real system:
- Convert to common time units.
- Calculate visitation ratios (times device used per transaction).
- Calculate device utilization .
- Back out CPU service time.
- Calculate per-device time .
- Identify the bottleneck device (largest ).
- Saturation throughput for the bottleneck.
- Average transaction time .
Worked web-server example
9 000 pages/hr; CPU at 42%; Disk 1 108k/hr ms; Disk 2 72k/hr ms; Network 18k/hr ms.
| Device | λ (/s) | S (s) | V | ρ | V·S |
|---|---|---|---|---|---|
| Webpages | 2.5 | n/a | 1 | n/a | n/a |
| CPU | 57.5 | 0.0073 | 23 | 0.42 | 0.168 |
| Disk 1 | 30 | 0.011 | 12 | 0.33 | 0.132 |
| Disk 2 | 20 | 0.016 | 8 | 0.32 | 0.128 |
| Network | 5 | 0.023 | 2 | 0.115 | 0.046 |
CPU visitation is the sum of all others (every disk/network return hits CPU).
- Bottleneck: CPU (ρ = 0.42).
- Saturation: transactions/sec.
- Average transaction: s.
When service times are unknown [Wil13a]
Monitoring often gives queue length, not service time. For M/M/1, . Solve for via quadratic formula: