Expand description
A job’s recent runs, as admission and sizing read them (ADR 0070): each row of the history read once, in the order
the runs finished, into a window of the job’s last successful runs, the hold a run at its cap puts on it, and the
runs past what they reserved. One rule for what each row says, whoever feeds it: the engine’s predictor,
simulate and sizing. Pure: no I/O, no clock; it must not keep anything the rows do not say, so a restart that
reads the same rows decides the same.
Structs§
- Counted
- A run in a job’s window.
- Hold
- The latest run of a job that met its cap or was killed for memory, and how many successful runs clear of their cap came in a row after it.
- InProfile
- A job in one profile: a job of one name may run in several pools of its repository, whose runs say nothing of each other’s (ADR 0058).
- JobRuns
- One job’s runs in one profile.
- Overrun
- A run that peaked past what it reserved.
- Recent
- Every job’s recent runs, with a window of
sizesuccessful runs.
Enums§
- Ending
- How a row ended, as the history keeps it apart.
Constants§
- CLEAN_
RUNS - A hold at the cap ends after this many successful runs in a row clear of their cap.
- RECENT_
RUNS - Admission’s window: a job’s last this many successful runs, or
[sizing] min_jobswhen more. Under nearest rank a p95 of fewer than 20 values is their largest; 20 is the fewest at which it can leave one outlier out. - SIZING_
TIMES - Sizing’s window is this many times admission’s: a cap too small kills a job, a reservation too small only lets runs overlap, and a cold-cache run comes once in 20 to 50.