AI Infra Interviews logo
GPU Fleet Reliability & Observability / 10
mediumNewGoogleMetaOpenAI

What service level objectives would you promise researchers on a training platform, and how would you measure each?

Availability is the wrong promise for a platform whose jobs run for weeks. Four objectives that a researcher can actually plan against, how each is measured from data you already collect, the error budget that makes them enforceable, and the one number that should never be an objective.

Updated Sep 2026 · Grounded in real AI infrastructure interview loops and written to a senior-engineer editorial bar, with every number worked and every diagram hand-built.

TL;DR: A training platform's users do not care whether the control plane was up; they care whether their run made progress. Four objectives capture that. Goodput: the fraction of wall-clock time a running job spends making forward progress, targeted at 90% and measured from the job's own step accounting. Time to restart: how long from an interruption to the job taking steps again, targeted under 10 minutes and measured from the lifecycle events. Queue wait by priority: how long a submitted job waits for resources, with a different target per tier, measured at submission and start. And checkpoint durability: the probability that the most recent complete checkpoint is readable, which is a promise rather than a percentile and is verified by periodically restoring one. Each gets an error budget over a rolling window, which is what converts an objective into something that changes behavior: when the budget is spent, risky changes stop until it recovers. The number that should never be an objective is cluster utilization, because maximizing it directly conflicts with every objective above.

How to approach it

Start by rejecting availability, since it is the reflex answer and it does not describe what a long-running job needs. Propose objectives that a researcher would recognize as their own experience. Define each with its measurement, because an objective without a measurement is a slogan. Add the error budget, which is the enforcement mechanism. Close with the anti-objective, since naming what not to promise is as useful as the list.

A strong answer

A typical situation: a platform team reports 99.9% availability for the quarter and a researcher points out that their three-week run restarted eleven times, lost about four days of progress, and finished late. Both statements are true. The platform measured whether its services answered requests, and the researcher experienced whether their job made progress, and those are different questions.

The four objectives:

1. goodput
   definition   useful step time / wall-clock time, per running job
   target       90% for jobs above a size threshold
   measurement  from the job's own step timestamps plus its lifecycle events; the loss
                breakdown (restarts, checkpoint pauses, stragglers, loader stalls) must sum
                to the gap, which is what makes it auditable
   why this one it is the single number a researcher would choose if allowed only one

2. time to restart
   definition   from an interruption to the job executing steps again
   target       under 10 minutes at p90
   measurement  lifecycle events: interruption detected, resources allocated, process start,
                checkpoint loaded, first step completed
   why it matters at a 3-hour mean time between interruptions, every minute of restart is
                0.55% of goodput, so this objective and the first are arithmetically linked

3. queue wait by priority
   definition   from submission to first step, by tier
   target       different per tier: interactive under 5 minutes, standard under 2 hours,
                batch best effort
   measurement  scheduler events, reported as a distribution rather than a mean, since the
                tail is what researchers remember
   why it matters it is the part of the experience the platform controls most directly and
                the part most often left unmeasured

4. checkpoint durability
   definition   the most recent checkpoint marked complete is readable and correct
   target       stated as a promise, not a percentile: no run loses more than one checkpoint
                interval to a storage failure
   measurement  a periodic restore test: pick a recent checkpoint, load it on a small node
                set, verify the tensors and the metadata
   why it matters it is the only objective whose failure is unbounded, since a lost checkpoint
                can cost days rather than minutes

SLOs for AI Systems covers the general framework; MFU and HFU is the efficiency metric that sits beside goodput and is not an objective, because it depends on the researcher's model and code as much as on the platform.

The error budget, which is what makes an objective enforceable:

example, goodput at 90% over a rolling 30-day window
  budget            = 10% of wall-clock time may be lost
  in a 30-day month = 72 hours of allowed loss per job
  consumed by       restarts, checkpoint pauses, stragglers, maintenance windows

what the budget does
  budget remaining  -> the platform may take risks: roll firmware, drain nodes for
                       maintenance, deploy scheduler changes
  budget exhausted  -> those stop until it recovers. No new rollouts, maintenance deferred,
                       and the team works on whatever consumed it

why this is the mechanism rather than the number
  an objective with no consequence is a dashboard. The budget creates a decision rule that
  both the platform team and the researchers understand in advance, so a maintenance window
  during a healthy month is uncontroversial and the same window during a bad one is not
sanity: the budget is deliberately generous at 72 hours per month, because a platform that
        never spends it is over-cautious and shipping too slowly
rendering diagram…

The anti-objective:

cluster utilization should not be an SLO
why: maximizing it conflicts directly with every objective above
  spare capacity for fast restarts lowers utilization
  a warm pool for interactive queue wait lowers utilization
  draining a degraded node lowers utilization
  headroom for the next large job lowers utilization
what to do instead: report utilization as a capacity-planning input, track it, and explain
  the gap between it and 100% as the sum of deliberate reserves rather than as waste
sanity: a platform pushed to 95% utilization will meet that target by removing exactly the
  reserves that its other objectives depend on, and the failure will appear as missed goodput
  a quarter later

Capacity Planning and Utilization is where utilization belongs.

The reversal condition: these objectives assume large, long-running jobs, which is the training case. A platform serving many short jobs, such as evaluation sweeps or hyperparameter searches, should promise job success rate and queue wait instead, because goodput per job is noise across thousands of short processes and restart time matters less when a job is ten minutes long. Same instrumentation, different aggregation, and a platform serving both needs both sets rather than a compromise that fits neither.

What interviewers probe next

  • "Why not availability?" Because a job runs for weeks and cares about progress, not about whether an API answered. A control plane can be at 99.99% while every job restarts hourly.
  • "How do you attribute a goodput loss?" The breakdown must sum to the gap: restarts, checkpoint pauses, stragglers, loader stalls, maintenance. If it does not sum, the instrumentation has a hole rather than the cluster having a mystery.
  • "Who owns the budget?" Both sides: the platform team spends it on changes, and the researchers see it, which is what makes a maintenance window a negotiation rather than a surprise.
  • "What if a researcher's own code causes the loss?" Attribute it in the breakdown. Loss from a job's own inefficiency is real and is not the platform's budget, which is why the categories matter as much as the total.

Common mistakes

  • Promising availability, which measures the platform's services rather than the researcher's experience.
  • Objectives with no error budget, which are dashboards rather than commitments.
  • Making utilization a target, which systematically removes the reserves the other objectives need.
  • A goodput number with no breakdown, which cannot be acted on when it drops.

Key takeaways

  • Four objectives: goodput at 90%, time to restart under 10 minutes at p90, queue wait by tier, and checkpoint durability verified by restore.
  • Every minute of restart time is 0.55% of goodput at a 3-hour mean time between interruptions, which links the first two arithmetically.
  • The error budget, about 72 hours per job per month at a 90% target, is what converts an objective into a decision rule about rollouts and maintenance.
  • Never make utilization an objective; report it, and explain the gap to 100% as deliberate reserves.
That one was free — and so are 10 answers per topic without an account. Signing in doubles that to 20, opens the Plus lessons in the courses, and remembers which topics you keep getting wrong.no card · Google sign-in · nothing to cancel
HOW DID IT GO?
0
READING SIGNED OUT

Signing in doubles your free answers, from 10 to 20 per topic, and the site starts remembering you: mastery per topic, bookmarks, and a next-focus recommendation. Free, no card.

Sign in free

The concepts behind this question

Ranked by how closely each one overlaps this question's topic, so the first card is the thing to read if the answer above moved too fast.

Core
🩺 Fleet Reliability & ObservabilitySign in
SLOs for AI SystemsA service level objective is a promise with a number attached, and AI systems need their own because the classic ones do not fit: a training run has no requests, only progress, so its objective is goodput; an LLM endpoint streams, so its latency is two numbers (time to first token and time per token) rather than one; and both spend a budget that is set by hardware failure rates rather than by software bugs. This page defines the objectives that fleet and serving teams actually use, derives the thresholds from user needs and from the hardware, and works the error-budget arithmetic that decides when to stop shipping and start fixing.
Foundational
🧮 Open Weights & Serving Engines
Serving Benchmarks That Do Not LieMost published serving numbers are not comparable to each other and not predictive of production, because they differ in the input distribution, the concurrency, whether the cache was warm, and which of several very different metrics is being reported. A benchmark that supports a decision has to fix all four, report a distribution rather than a mean, and be run against the traffic shape you actually serve. The single most useful discipline is to compute the bandwidth bound first, so you know what fraction of the possible you achieved.
Foundational
🩺 Fleet Reliability & Observability
Training Uptime and Interruption StatisticsA frontier training run is a months-long job on tens of thousands of parts, each of which fails rarely, so the run as a whole fails constantly. The numbers that describe this are simple and worth deriving from scratch: a per-GPU failure rate, multiplied by the fleet, gives the interval between stops; the checkpoint interval and the restart time give the work lost per stop; together they give effective training time, which is the fraction of wall-clock the run is actually learning. This page derives all of it from the one public dataset that reports it and shows how to size checkpointing so the run stays above 90%.
Foundational
🚀 Inference & Serving
Latency Metrics: TTFT, TPOT and GoodputAn LLM request has two latencies, not one: time to first token, set by queueing and prefill, and time per output token, set by the decode loop. Reporting them as percentiles, and reporting goodput (requests that met both SLOs per second) rather than raw throughput, is what separates a serving engineer from a benchmark reader. The numbers a loop expects: about 24 tokens per second single-stream for a 70B model on one H100, TTFT floors in the hundreds of milliseconds for long prompts, and p99s that come from queueing, not from the GPU.
UP NEXT ON YOUR JOURNEY
FEDITOR'S NOTE

Scored on choosing objectives that match what researchers care about rather than uptime, on defining each measurably, and on the error budget as the mechanism that makes an objective mean something.

DISCUSSION · 0

No comments yet — be the first to share your approach.