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:

  1. Convert to common time units.
  2. Calculate visitation ratios (times device used per transaction).
  3. Calculate device utilization .
  4. Back out CPU service time.
  5. Calculate per-device time .
  6. Identify the bottleneck device (largest ).
  7. Saturation throughput for the bottleneck.
  8. 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
Webpages2.5n/a1n/an/a
CPU57.50.0073230.420.168
Disk 1300.011120.330.132
Disk 2200.01680.320.128
Network50.02320.1150.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: