Skip to content
All papers

The Tail at Scale

Jeffrey Dean, Luiz André Barroso2013Communications of the ACM 2013

Read it on research.google(opens in a new tab)

Why this one

Averages lie hardest when a request fans out to dozens or thousands of machines. The useful idea here is that tail latency is not an ops afterthought, it is a design constraint created by parallelism itself. One slow shard, one unlucky queue, one background compaction can set the user visible time for the whole request. People often reduce this paper to “watch p99,” then go back to building services that amplify p99 at every layer. The real lesson is to design for variance: hedged requests, tied requests, admission control, shorter queues, partitioning that avoids stragglers, and graceful degradation. Read this after The Google File System and Bigtable, because once you understand why those systems split work across fleets, this explains the price you pay at the edge of the latency distribution.

What to take away

  • Fanout turns rare slow machines into common slow user requests.
  • Tail tolerance is built with redundancy, cancellation, isolation, and queue control.
  • A service can meet its average SLO while still failing the product at p99.

Reads with