Quant Memo
Advanced

Jackson Networks and Queueing Networks

A result showing that a whole network of connected queues — where output from one feeds into another — can, under the right conditions, be analyzed as if each queue were independent, dramatically simplifying an otherwise tangled problem.

Prerequisites: Queueing Theory and Birth-Death Processes, Little's Law

An order doesn't just wait at one queue and leave. It might get validated at a risk-check stage, then routed to a matching engine, then to clearing, with some fraction looped back for a retry. Each stage is its own little queue, and they feed each other — the output of one is the input to the next. Analyzing this seems to require tracking the joint state of every queue at once, since a burst at stage one causes a burst at stage two a moment later. Jackson's theorem is a remarkable simplification: under specific conditions, each queue in the network can be analyzed entirely on its own, as if it had nothing to do with the others, and the results still combine correctly.

An analogy: a chain of coffee shops

Imagine three coffee shops in a row: customers arrive at shop A, and after being served, some fraction walk over to B, and from B some fraction go on to C, with customers also leaving the chain at each stage and new ones joining directly at B and C. Shop B's line length seems like it should depend intricately on exactly which customers just left A and when. Jackson's insight is that if arrivals are Poisson and each shop serves at random (exponential) rates, each shop can, in the long run, be treated as its own independent Poisson-arrival queue, once you've correctly computed its effective total arrival rate — direct new arrivals plus everything routed in from upstream. You don't need to track the correlation between shops at all; it washes out in steady state.

The theorem, one symbol at a time

Consider a network of KK queues (nodes). External customers arrive at node ii as a Poisson process with rate γi\gamma_i. After being served at node ii, a customer moves to node jj with probability pijp_{ij}, or leaves the network with the remaining probability. Let λi\lambda_i be node ii's total arrival rate, counting both external arrivals and internal routing from other nodes. These satisfy the traffic equations:

λi=γi+jλjpji.\lambda_i = \gamma_i + \sum_{j} \lambda_j \, p_{ji} .

In plain English: the total rate hitting node ii equals the rate arriving from outside directly, plus the rate arriving from every other node jj that routes a fraction pjip_{ji} of its own output to ii. This is a linear system — solve it once for all λi\lambda_i simultaneously. Jackson's theorem then says: if each node ii is an M/M/1 (or M/M/c) queue with service rate μi\mu_i, the steady-state joint distribution of queue lengths factors as if each node were an independent M/M/1 queue with arrival rate λi\lambda_i and service rate μi\mu_i — even though, moment to moment, the nodes are obviously correlated (a burst at node 1 causes a burst at node 2 right afterward).

Worked example 1: a two-stage settlement pipeline

Stage 1 (risk check) gets external arrivals at γ1=8\gamma_1 = 8 orders/second and has service rate μ1=10\mu_1 = 10/second. After risk check, 90% of orders move to Stage 2 (matching), 10% are rejected and leave. Stage 2 also receives no direct external arrivals (γ2=0\gamma_2 = 0) and has service rate μ2=9\mu_2 = 9/second. Traffic equations:

λ1=γ1=8,λ2=γ2+λ1×0.9=0+8×0.9=7.2.\lambda_1 = \gamma_1 = 8, \qquad \lambda_2 = \gamma_2 + \lambda_1 \times 0.9 = 0 + 8 \times 0.9 = 7.2 .

Utilizations: ρ1=8/10=0.8\rho_1 = 8/10 = 0.8, ρ2=7.2/9=0.8\rho_2 = 7.2/9 = 0.8. Using the standard M/M/1 mean-number-in-system formula E[Ni]=ρi/(1ρi)\mathbb{E}[N_i] = \rho_i/(1-\rho_i) independently at each node: E[N1]=0.8/0.2=4\mathbb{E}[N_1] = 0.8/0.2 = 4, E[N2]=0.8/0.2=4\mathbb{E}[N_2] = 0.8/0.2 = 4. Total expected orders in the pipeline: 4+4=84 + 4 = 8, obtained without ever touching the joint distribution.

Worked example 2: adding a feedback loop

Now suppose 20% of Stage 2's completions get kicked back to Stage 1 for a re-check, with γ1=8\gamma_1 = 8, γ2=0\gamma_2 = 0, p12=0.9p_{12} = 0.9, p21=0.2p_{21} = 0.2, rest exits. The traffic equations are now coupled both ways:

λ1=8+0.2λ2,λ2=0.9λ1.\lambda_1 = 8 + 0.2\,\lambda_2, \qquad \lambda_2 = 0.9\,\lambda_1 .

Substituting: λ1=8+0.2(0.9λ1)=8+0.18λ1λ1(10.18)=8λ19.76\lambda_1 = 8 + 0.2(0.9\lambda_1) = 8 + 0.18\lambda_1 \Rightarrow \lambda_1(1 - 0.18) = 8 \Rightarrow \lambda_1 \approx 9.76, and λ20.9×9.768.78\lambda_2 \approx 0.9 \times 9.76 \approx 8.78. Even with a feedback loop, each node is still treated as an independent M/M/1 queue with these solved-for rates — Jackson's result covers feedback too, as long as the Poisson/exponential assumptions hold.

Node 1 Node 2 γ₁=8 p₁₂=0.9 p₂₁=0.2 (feedback) exit
Even with a feedback loop routing output from Node 2 back to Node 1, Jackson's theorem lets each node be analyzed as an independent M/M/1 queue once the coupled traffic equations are solved for the effective arrival rates.
E[N₁]=4 E[N₂]=4 Total=8 Stage 1 Stage 2 Pipeline
Each node's expected queue length is computed independently and simply summed for the whole pipeline — the network-wide answer needs no joint calculation.

What this means in practice

Jackson networks are the standard model for multi-stage order-processing or settlement pipelines, and more broadly for any system decomposable into Poisson-arrival, exponential-service stages linked by routing probabilities: solve one linear system for the effective rates, then analyze every stage with ordinary single-queue formulas. This turns network capacity planning — where's the bottleneck, what happens if I add a server at stage 2 — into arithmetic instead of a joint simulation.

For a network of queues with Poisson external arrivals, exponential service, and probabilistic routing between nodes (including feedback loops), the steady-state behavior at each node is as if it were an independent M/M/1 (or M/M/c) queue, once you solve the traffic equations for each node's true total arrival rate — the moment-to-moment correlation between nodes doesn't affect the long-run per-node distribution.

Jackson's independence result relies entirely on Poisson arrivals and exponential (memoryless) service at every node — it does not extend, in general, to non-exponential service or to routing that depends on current queue lengths elsewhere (state-dependent routing, common in real order-routing logic that avoids busy venues). Applying the simplification to a network with these features can badly understate correlations between nodes, and hence the true probability of simultaneous overload across stages.

Related concepts

Practice in interviews

Further reading

  • Jackson, J.R. (1957), Networks of waiting lines
ShareTwitterLinkedIn