advanced27 min studyLesson 966 in Engineering

Thermal throttling and sustained throughput

Distinguish a cool-device burst from sustained inference, and measure thermal behavior, backlog, energy and deadlines under a reproducible operating envelope.

On this page

What you’ll understand

  • Apply a declared lumped thermal model with explicit units and limits.
  • Explain why fixed clocks and short benchmarks do not ensure sustained performance.
  • Design continuous-load measurements and a policy for reduced service capacity.

An edge device can complete a short benchmark quickly while consuming thermal headroom accumulated during idle time. Continuous inference may heat its enclosure, trigger power management, and reduce throughput after the first impressive result. Measure the time course, not just the fastest invocation. A sustained deployment claim needs an operating envelope that names ambient conditions, enclosure, workload, battery and charging state, and the concurrent activity expected in actual use.

Thermal headroom is a time-dependent resource

A simple lumped thermal model treats the device as one heat capacity connected to ambient by a thermal resistance. Constant power initially raises temperature, then heat removal grows with the temperature difference. This approximation gives intuition about time constants and steady temperature, but a real device has multiple hotspots, sensors, nonlinear cooling, and policy thresholds. Do not fit one curve and claim to predict every package, battery, or skin temperature from it.

The relevant power includes more than inference arithmetic. Sensors, radios, display, memory traffic and charging can heat the same physical system. Two workloads with equal operations per inference can have different duty cycles and average power. Record the initial temperature and idle history before comparing trials, and repeat after cool-down where that matches the experiment. For continuous operation, inspect whether temperature and performance stabilize within the tested duration; a run ending before stabilization cannot establish the eventual steady regime.

CthdTdt=P−T−TaRthC_{\mathrm{th}}\frac{dT}{dt}=P-\frac{T-T_a}{R_{\mathrm{th}}}
This illustrative linear single-node model uses heat capacity C_th in J/K, thermal resistance R_th in K/W, constant power P in W, ambient T_a and device T in a common temperature scale, and time in seconds. It excludes governor action, multiple thermal nodes, changing power and nonlinear heat transfer.↔ Scroll wide equations horizontally.

A burst result does not describe the final operating point

Under constant power and an ambient-temperature start, the lumped model approaches ambient plus power times thermal resistance. The thermal time constant is resistance times heat capacity. A load can stay below a temperature threshold for tens of seconds even when its predicted equilibrium exceeds that threshold. A controller may then reduce clocks, migrate work, change accelerator use, or shed load. Those actions change the model’s power and throughput, so the original constant-power extrapolation no longer describes the managed device.

Android’s fixed performance mode, introduced at API level 30, provides a concrete caution: it constrains CPU/GPU clock behavior for comparison but does not disable every dynamic behavior or guarantee indefinite thermal sustainability. The official documentation explicitly recommends thermal monitoring. Treat such a mode as an experimental setting, not as the normal product performance promise. Also separate thermal effects from compilation, caches, battery saving, background work and input changes that can produce similar latency trends.

T(t)=Ta+PRth ⁣(1−e−t/τ),τ=RthCthT(t)=T_a+PR_{\mathrm{th}}\!\left(1-e^{-t/\tau}\right),\qquad \tau=R_{\mathrm{th}}C_{\mathrm{th}}
Assume the preceding constant-parameter model, P≥0, positive resistance and heat capacity, and T(0)=T_a. Tau has seconds and P R_th has kelvin or Celsius temperature-difference units. This is the unmanaged model’s analytic response, not a device-specific throttle or clock-frequency prediction.↔ Scroll wide equations horizontally.

Validate sustained deadlines and a degraded service policy

Run representative requests long enough to observe the intended duty cycle and thermal regime, including warm restarts and background interference. Report latency percentiles, deadline misses, energy boundary, temperatures, and throughput over time. If service capacity falls below arrival demand, choose an explicit policy: reduce input frequency, select a validated smaller model, coalesce stale observations, or refuse work according to product requirements. Silently building an ever-growing queue preserves throughput counters while destroying response usefulness.

The queue lab illustrates only a capacity change’s consequence. Reset, set arrival lambda to 4 and service mu to 5, predict backlog three after two Steps, then take those Steps. Compare a fresh Reset with both lambda at 4 and mu at 3 before two Steps: backlog five. Initial backlog is four and two Steps are one second. These are independent fresh experiments with supplied rates, not a live throttle transition, temperature simulator, or measured device performance.

A short run fits inside transient thermal headroom

Use a hypothetical unmanaged thermal model with ambient 25°C, resistance 8 K/W, heat capacity 10 J/K, and constant load power 8 W. The illustrative temperature limit is 65°C, and the device starts at ambient. Compute its time constant, equilibrium and threshold-crossing time.

  1. The time constant is 8 × 10 = 80 seconds. Predicted equilibrium is 25 + 8 × 8 = 89°C, above the illustrative 65°C limit.

  2. At 30 seconds the model predicts 25 + 64(1 − exp(−30/80)) ≈ 45.01°C. A short measurement can therefore remain below the limit despite an unsustainable equilibrium.

  3. Solve 40 = 64(1 − exp(−t/80)) to obtain t = −80 log(0.375) ≈ 78.47 seconds. A real governor can intervene earlier or differently; this is a constant-power thought experiment, not a device prediction.

The result

Transient headroom explains why a successful burst benchmark does not establish indefinitely sustained operation.

Explore the model

Interactive lab

Interactive lab · queue

Capacity loss can turn a draining queue into growing demand

Reset, set λ = 4 and μ = 5, predict Q(1) = 3, then take two Steps. Compare a fresh Reset with both λ = 4 and μ = 3 before two Steps: Q(1) = 5. Initial backlog is 4 and each Step is 0.5 seconds. These separate constant-rate experiments do not model temperature, clock policies, or a live change of rate.

Capacity loss can turn a draining queue into growing demandFluid backlog starts at 4 and follows max(0, 4 + (λ − μ)t). The separate M/M/1 residence-time formula assumes Poisson arrivals, exponential service and λ < μ. Current readings: Fluid backlog: 4; Net rate · λ − μ: −1 /s; M/M/1 mean residence: 1 s. All parameters are adjustable with the labeled controls below.02.557.51001.534.56Elapsed time · sFluid backlogλ < μ
Fluid backlogCurrent time
Fluid backlog
4
Net rate · λ − μ
−1 /s
M/M/1 mean residence
1 s
t = 0 s

Fluid backlog starts at 4 and follows max(0, 4 + (λ − μ)t). The separate M/M/1 residence-time formula assumes Poisson arrivals, exponential service and λ < μ. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forSustained service capacity must be compared with sustained arrival demand.

Check your understanding

A device completes a 20-second inference benchmark without throttling. What does that establish?

Try it yourself

In the same linear model, use ambient 20°C, R = 10 K/W, C = 5 J/K and power 3 W from an ambient start. Compute the time constant, equilibrium and temperature after one time constant. Does the model alone certify a real device?

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

The equilibrium rise is P R and one time constant achieves 1−exp(−1) of that rise.

Compare with the solution

The time constant is 50 seconds and equilibrium is 20 + 3 × 10 = 50°C. At 50 seconds, temperature is 20 + 30(1 − exp(−1)) ≈ 38.96°C. These calculations apply only to the declared single-node constant-power model. A real release still needs the actual device’s temperature observations, operating limits, governor behavior and representative workload measurements.

Take it with you

  • Report burst and sustained performance as different measurements.
  • Thermal dynamics and power-management policies can change usable capacity.
  • Test a declared operating envelope and define useful behavior under reduced capacity.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.