Performancethermalthrottlingsustainedburstcooling

The First Ten Seconds Lie

Silicon has a temperature limit, and the only lever the chip has to stay under it is to slow down. A workload that starts on a cool chip runs at one speed and settles at a lower one, which is why burst performance and sustained performance are different numbers and why short benchmarks systematically flatter the machine.

Follow the mechanism

Software view, hardware view

The gap between what you wrote and what the machine does is where this whole domain lives.

The question
Why does a long-running workload get slower over time even though nothing about the code changed?
What you wrote
The workload is uniform, so throughput should be flat. A gradual decline over the first minute must mean a leak, a growing data structure, or degrading cache behaviour.
What the hardware does
The chip heated up. On reaching its thermal limit it reduced frequency to stay within it, and throughput fell in proportion. Nothing in the program changed at all.
Thermal behaviour separates burst from sustained performance, and almost every benchmark measures the burst while almost every production workload lives in the sustained regime.
SourceCompilerInstructionsFront EndExecutionRegistersCachesMemoryI/OBehavior

Heat is the real budget

Switching transistors dissipates energy as heat, and the rate depends on how much of the chip is active and how fast it is clocked. The cooling solution removes heat at some finite rate. When generation exceeds removal, the die temperature rises, and when it reaches the limit the chip must reduce power — which in practice means reducing frequency, voltage, or both.

This produces the characteristic shape of a sustained workload: full speed while the thermal mass absorbs the initial excess, then a decline as the limit is approached, then a plateau at whatever frequency the cooling can sustain indefinitely. The duration of the initial phase depends on the thermal mass and the cooling capacity, which is why the same silicon behaves very differently in a thin laptop, a desktop tower and a rack server.

For anyone measuring, this is the crucial consequence: there are two performance numbers, not one. Burst performance is what the machine does before thermal equilibrium, and it is what short benchmarks measure. Sustained performance is what it does after, and it is what a production workload actually gets. Reporting the first as though it were the second is one of the most common ways a benchmark misleads, and it compounds directly with the boost effects in The Clock Is a Variable.

Relative throughput of one sustained workload over time, normalised to its own first interval. Unitless and illustrative of the shape — the magnitude depends entirely on the cooling solution. — 1 unit ≈ throughput during the first interval, on a cool chipSIMPLIFIED
Interval 1 — cool chip, boost available×1
Interval 2 — warming, boost reducing×0.92
Interval 3 — approaching thermal limit×0.81
Interval 4 — at limit, frequency reduced×0.74
Interval 5 onward — steady state×0.72
Ratios, not times. Absolute latencies depend on the processor, its clock, the memory it is attached to and what else is running — publishing them would be wrong everywhere except one machine. The bars are log-scaled, so each step is larger than it looks.
Interval 1 — cool chip, boost availablewhat a short benchmark reports
Interval 5 onward — steady statewhat production actually gets

The shape depends on the box, not the chip

The same processor delivers wildly different sustained performance depending on what it is installed in. A well-cooled desktop may barely throttle at all and its burst and sustained numbers nearly coincide. A thin laptop may hold peak frequency for only seconds before settling substantially lower. A dense server may be constrained by airflow shared across many nodes, and by a datacentre inlet temperature that varies seasonally.

This makes thermal behaviour a platform property rather than a chip property, and it is why benchmark results are only comparable between machines with comparable cooling. It is also why a workload that performs well in a development environment can disappoint on deployment hardware even when the processor model is identical — the chips are the same and the boxes are not.

Two related effects complete the picture. Throttling is often not uniform across the package: some designs reduce frequency on the hottest cores first, which shows up as unexplained per-core performance asymmetry. And a chip that has been idle accumulates thermal headroom, so the first workload after a pause runs faster than the same workload thirty seconds later — which quietly ruins any benchmark harness that inserts pauses between runs.

Same silicon, different thermal envelopes
EnvironmentBurst behaviourSustained behaviourWhat a short benchmark tells you
Well-cooled desktopHigh, held for a long timeClose to burstRoughly the truth
Thin laptopHigh but briefSubstantially lowerConsiderably optimistic
Dense rack serverModerateStable, airflow-limitedOptimistic; also varies with datacentre conditions
Shared cloud instanceUnknown — depends on neighboursUnknown and variableNot reliably interpretable at all
Passively cooled deviceBriefMuch lowerAlmost meaningless for sustained work

Measuring and living with it

The measurement discipline is straightforward. Run long enough for the temperature to plateau and report the steady-state figure, treating the initial burst as a separate result rather than folding it into an average. Report throughput as a time series rather than a single number, because the shape of the decline is itself diagnostic — a gradual slope is thermal, whereas a sudden step is more likely a different mechanism.

The reason that distinction matters is that thermal decline is easily confused with genuine software problems. A memory leak, a growing data structure, cache pollution accumulating over time and lock contention rising with queue depth all produce declining throughput. The way to separate them is to watch frequency alongside throughput: if frequency fell in proportion, it is thermal, and no amount of profiling the software will find anything.

What can actually be done about it is mostly not in the code. Better cooling and better airflow are the direct fixes. Spreading work across more machines instead of saturating a few keeps each further from its limit. Reducing the total work done reduces heat generated, which is the one lever that is genuinely a software decision — and it connects directly to Performance Per Watt, where doing less work is simultaneously the fastest and the coolest option.

  • Report two numbers: burst and sustained. They are different properties of the system.
  • Watch frequency alongside throughput — proportional decline means thermal, not a software leak.
  • A sudden step is not thermal; thermal decline is gradual and plateaus.
  • Idle time between runs restores headroom, which silently biases a benchmark harness.
  • The fixes are mostly physical — cooling, airflow, spreading load. Doing less work is the software lever.

Key points

  • Chips reduce frequency to stay within a temperature limit, so sustained throughput is lower than burst throughput.
  • The shape and magnitude of the decline are properties of the cooling solution, not of the processor model.
  • Short benchmarks measure the burst regime; production workloads live in the sustained regime.
  • Thermal decline is easily mistaken for a memory leak or growing contention — check frequency to distinguish them.
  • Idle periods restore thermal headroom, so a harness that pauses between runs systematically flatters early runs.

Follow the mechanism

The path through the machine, hop by hop — and the conclusions it invites that are wrong.

  1. 1
    Execution → heat: switching activity dissipates energy at a rate set by frequency, voltage and how much of the chip is active.
  2. 2
    Heat → temperature: die temperature rises when generation exceeds the cooling solution's removal rate.
  3. 3
    Temperature → limit: on reaching the thermal limit, firmware must reduce power to protect the part.
  4. 4
    Power reduction → frequency: the available lever is a lower frequency and voltage operating point.
  5. 5
    Lower frequency → throughput: work per second falls proportionally, with no change in the program.
What people conclude from this — wrongly
  • Diagnosing declining throughput as a memory leak without checking whether frequency also declined.
  • Comparing benchmark results between machines with different cooling as though the processor model were the whole story.
  • Treating the first run in a series as the representative one.
  • Assuming a datacentre machine has stable thermal conditions when inlet temperature varies seasonally and with neighbouring load.

Consequences, controls and cost

What it causes
  • • Throughput declines during the first phase of a sustained run and then plateaus.
  • • Identical processors in different chassis deliver materially different sustained performance.
  • • Benchmark harnesses that pause between runs report the first run as fastest for reasons unrelated to code.
  • • Per-core performance asymmetry appears on designs that throttle the hottest cores first.
What you can do
  • • Measure and report steady state; treat the burst as a separate number rather than averaging the two together.
  • • Track frequency alongside throughput so thermal decline can be distinguished from software regressions.
  • • Reduce total work: less computation means less heat, which raises the sustained ceiling.
  • • Spread load across more machines rather than saturating a few, keeping each further from its limit.
  • • Improve cooling and airflow — the most direct fix and the one least available to a programmer.
How to see it
  • • Throughput as a time series over a long run, rather than a single aggregate figure.
  • • Package temperature and operating frequency sampled alongside throughput.
  • • Burst and sustained results reported separately, with the transition point noted.
  • • The same workload on the target deployment hardware, not on a development machine with better cooling.
What it costs
  • • Running to thermal steady state takes far longer and consumes considerably more energy than a short benchmark.
  • • Spreading load to stay below thermal limits costs machine count and therefore money.
  • • Optimising for sustained performance can mean leaving burst performance on the table for latency-sensitive work.

Scope

§224 — what these claims are specific to.

What these claims are specific to
  • PLATFORM-SPECIFICThe magnitude and timing of throttling are set by the cooling solution and chassis, not the processor; the same part behaves very differently in a laptop, a desktop and a rack server.
  • SIMPLIFIEDThe throughput decline shown is the characteristic shape only; the real curve and its plateau depend on thermal mass, ambient temperature and workload intensity.

Misconceptions

Claim
“Throughput fell over time, so the program has a leak.”
Reality
Check frequency first. A proportional decline in both means the chip throttled and the program is unchanged. Thermal decline is gradual and plateaus; a leak usually does not.
Claim
“Two machines with the same CPU perform the same.”
Reality
Sustained performance is set by cooling, which is a chassis property. The same part can differ substantially between a thin laptop and a well-cooled desktop.
Claim
“Letting the machine rest between benchmark runs improves accuracy.”
Reality
It restores thermal headroom, so early runs are systematically faster. That makes results less representative of sustained behaviour, not more.

Apply it