◇ Math reference · Part 06
Jackson networks
How to compose individual queueing stations into a network that represents a real distributed system.
Composing stations into a network
Real systems aren't single queues — they're networks of queues. A request hits the ALB, the API server, the cache, the database, then comes back. Jackson's 1957 result says that a network of M/M/c stations connected by Markovian routing can be analysed station-by-station: each station behaves as if it were an independent M/M/c queue with its effective arrival rate being the sum of external arrivals plus internal routing from other stations.
where γᵢ is external traffic arriving at station i and pⱼᵢ is the probability a request leaving station j routes to station i.
This is what makes composing models possible. Each service node in your Kendall design becomes a station; the edges define pⱼᵢ; the simulator solves the linear system to get each station's effective λ, then applies the appropriate single-station formula.
Latency composition
p99 of the total response time is not the sum of per-station p99s. If the API server's p99 is 80 ms and the database's p99 is 120 ms, the end-to-end p99 is not200 ms — it 's smaller, because the slowest 99% of API responses don't line up with the slowest 99% of DB responses.
Correctly computing end-to-end percentiles requires either convolving the per-station latency distributions, or — much easier — sampling raw end-to-end traces from a discrete-event simulation and taking the empirical percentile across the traces. Kendall does the latter, then reports per-station summaries alongside the end-to-end distribution.
What Kendall doesn't model (yet)
- G/G/c— general arrivals + general service. Common in real systems (bursty traffic), but exact closed- form solutions don't exist; Kingman's formula gives a heavy-traffic approximation that's on the roadmap.
- Retries with backoff. Retried requests change the effective arrival distribution in non-trivial ways and can drive instability (“retry storm”).
- Correlated arrivals. Real traffic isn't Poisson — it bursts. Kendall's arrivals are Poisson today.
- Batched service. Many real systems process requests in batches (Kafka consumer batches, database group-commit), changing both throughput and latency.
- State-dependent service rates. Some systems serve faster when warm and slower when cold. Currently treated as a single distribution.