Validate isolation with adversarial load and honest oracles
Design paired tenant experiments that expose interference, authorization failures, deadline loss, and measurement bias rather than rewarding incomplete samples.
On this page
The question for today
What you’ll understand
- Choose separate performance, availability, and authority oracles.
- Detect closed-loop and completed-only measurement bias.
- Report finite experimental evidence with reproducible workload and model limits.
An isolation benchmark can report a beautiful latency percentile while silently rejecting half the tenant’s requests. It can also pass because its aggressor stresses the wrong resource or its load generator slows down whenever the victim stalls. Validation must be designed against those failure modes. Use authorized fixtures, explicit tenant identities, and a controlled environment. The goal is a bounded claim supported by adversarial workloads and clear oracles, not a universal proof produced by one stress run.
Build a matrix of mechanisms and expected outcomes
Start from the resource and authority map. For each shared boundary, choose a victim with a stable useful-work objective and an aggressor that exercises a named mechanism: CPU execution, cache pressure, memory streaming, small random I/O, large writeback, many network flows, accelerator memory pressure, or expensive permitted API operations. Record the exact topology and versions. Combining every aggressor at once can expose a failure but makes attribution difficult; include controlled single-mechanism cases before combined stress and recovery. Limit the fixture so it cannot harm unrelated tenants.
Use separate oracles. Performance oracles include deadline goodput, latency distributions, resource shares, and queue growth. Availability oracles include rejection behavior, bounded recovery, and whether unrelated tenants remain able to make useful progress. Confidentiality and integrity oracles check explicit forbidden reads or changes using controlled objects, identities, and audit evidence. A service surviving a memory scan does not establish authorization, and a denied object read does not establish useful throughput under saturation. State the acceptable outcome for each test before observing the result.
Preserve offered work and account for missing outcomes
A closed-loop generator waits for completion before issuing replacement work. When the system slows, that generator can reduce offered load, making an overloaded service appear less stressed than the intended arrival process. Open-loop scheduling can expose this effect, but the generator itself must have enough capacity and record scheduling delays. Preserve offered, accepted, rejected, completed, timed-out, and outstanding counts. A histogram containing only successful completions excludes exactly the work most affected by a severe stall unless that selection is explicitly part of the defined metric.
Coordinated omission is one form of this measurement problem: long pauses cause intended observations to disappear. Histogram correction based on an expected interval can illustrate missing experience under its assumptions, but it cannot reconstruct every unknown workload or fix a broken experiment automatically. Report raw counts and scheduling behavior alongside any correction. Match prompt lengths, output lengths, batching, cache warmup, and workload versions across baseline and shared cases. Otherwise a latency change may be caused by a different useful-work distribution rather than the proposed tenant-interference mechanism.
Repeat, recover, and retain the limits of the evidence
Randomize or pair baseline and shared runs to reduce drift, repeat across relevant placements, and include the recovery phase after the aggressor stops. Track warmup, thermal state, page placement, retries, and instrumentation overhead. A single favorable percentile can result from small sample size or selection, so retain distributions, event traces, counts, and configuration snapshots. Investigate failures and rerun the affected mechanism after a change. Successful bounded tests support their named configuration; changes to drivers, policies, workload shape, or trust assumptions may require a new assessment.
Reset the sampling lab, explicitly set p=0.5 and sample size 20, predict the sample-mean variance, then Play or Step. For an independent comparison Reset and explicitly set p=0.5 and sample size 80 before predicting again. The variance drops from 0.0125 to 0.003125 under independent identical Bernoulli assumptions. Playback highlights exact possible outcomes rather than drawing samples, and the normal curve is an approximation. Correlated production requests need not follow this model; more repetitions do not repair a biased workload or an incorrect oracle.
Work it through
Report the work that latency-only charts can hide
Follow a hypothetical cohort of 10,000 offered requests over a 100-second reporting interval, with every outcome accounted for by the chosen follow-up rule. Of these, 9,500 are accepted, 9,400 complete, and 9,000 meet the deadline. The matched baseline p99 is 100 ms and the shared-run p99 is 140 ms.
The offered rate is 100 requests per second. Accepted and completed rates are 95 and 94 per second, respectively. State how the remaining requests were rejected, timed out, or remained unfinished rather than dropping them from the record.
Deadline goodput is 9,000/100=90 requests per second. The fraction of the offered cohort meeting the deadline is 9,000/10,000=0.9, or 90 percent. A completed-only success denominator would describe a different and more favorable quantity.
The matched p99 ratio is 140/100=1.4, a 40 percent increase. This comparison remains conditional on the latency cohort definition and matched useful work; it must be read with rejection and deadline counts rather than substituted for them.
The shared run has 90 deadline-successful requests per second and a 1.4 p99 ratio in the stated fixture. Neither number alone captures the full isolation result.
The living notebook
Explore the model
Interactive lab · sampling
More independent samples narrow a stated sampling distribution
Use separate Reset → explicitly set BOTH p and n → predict → Play/Step runs for (.5,20) and (.5,80). Exact sample-mean variances are .0125 and .003125. Playback highlights outcomes, not random trials; the normal comparison is approximate and real stress traces can be correlated.
- Mean sample proportion
- 0.5
- Sample-mean variance
- 0.0125
- Uniform CDF error bound
- ≤ 0.1062
Exact binomial masses for the mean of n independent Bernoulli trials, compared with normal mass between adjacent half-count boundaries; normal tails outside the finite support remain outside the bars. Playback highlights outcomes, not random samples. The Berry–Esseen bound applies to standardized CDFs, not individual bars or continuity-corrected errors. At p = 0 or 1, normal comparison and that bound are disabled. Normal-CDF evaluation uses a numerical approximation with absolute error below 7.5×10⁻⁸ (at most 1.5×10⁻⁷ per interval, before rounding). 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 forSample size improves precision under assumptions; it does not fix missing outcomes, confounding, or a wrong test oracle.
Pause & reason
Check your understanding
Your turn
Try it yourself
A fully accounted cohort offers 2,000 requests during 20 seconds, and 1,700 meet the deadline. Its matched p99 rises from 80 to 100 ms. Calculate deadline goodput, offered-cohort success fraction, and p99 slowdown. What does repeating the same biased generator fail to fix?
Take a moment to make a prediction or work it out on paper. Open a hint when you need one.
Give me a hint
Keep the duration, offered denominator, and matched statistic distinct; repetition only addresses some random uncertainty.
Compare with the solution
Deadline goodput is 1,700/20=85 requests per second. The offered-cohort deadline fraction is 1,700/2,000=0.85, or 85 percent. The p99 ratio is 100/80=1.25, a 25 percent increase under the stated cohort and workload definition. Repeating a generator that suppresses offered arrivals during stalls can estimate that biased experiment more precisely without exposing the intended overload. Correct scheduling and outcome accounting, then repeat controlled cases and separate performance evidence from the forbidden-access and recovery oracles.
Keep the idea
Take it with you
- Choose distinct adversarial mechanisms and distinct performance and authority oracles.
- Keep offered work, failures, unfinished work, and generator behavior visible.
- Repeat matched experiments while preserving the scope and assumptions of every conclusion.
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.