ALLOCATE · OBSERVE · COMPARE

Tenant service targets: count every offered request

Follow each request from arrival to completion, rejection or timeout.

60-second scheduler inspection

Your experiment

Compare the B completion fraction with its p95 among completed requests. A good p95 can coexist with rejections. Move the target and timeout separately: a changed target changes the gate, not the scheduler.

Play inspects 20 modeled ticks over one minute at 1×. Pause, slow to 0.5×, restart with the same inputs, or seek to any state. Input changes recompute without autoplay.

Event ordering and limits

At each tick: finish due work, expire overdue requests, dispatch older waiting work, then offer new A requests followed by B. A completion exactly at its deadline wins. Arrivals stop after tick 11; the view ends at tick 20 and may still contain pending work. Queue caps exclude active work and allow direct handoff into an eligible free slot. Borrowing never preempts. Identical slots are visited in numeric order.

Outcomes at the inspected tick

Scroll the metric tables horizontally on narrow screens to inspect every column.

Full-window calculation

This is the exact result of the selected fixture through tick 20, available before playback. Completion rate includes all offered requests, including rejected and timed-out requests. p95 uses the nearest-rank value among completed latencies only; it excludes failures and is not the gate. A gate remains pending while a request is still waiting or running.

Every request and resource

Scope and references

This is a finite fixture gate, not a contractual SLA estimate or measured production availability. All arrivals count in the denominator; pending requests prevent a pass.

Deterministic teaching workload, not measured throughput or a reliability guarantee. Logical tenant partitions do not establish security isolation.

Bulkhead pattern · Official AICassindra articles

Count every offered request

Completion target applies separately to tenants A and B. The denominator includes every offered request, even one rejected at admission or timed out. Required completions is the ceiling of offered requests multiplied by the target fraction. Waiting or running requests keep the gate pending; no traffic is reported separately. The nearest-rank p95 column includes only completed request latencies and is not the gate. A low latency among survivors can hide widespread failure. These are exact results for a deterministic twenty-tick workload, not a contractual SLA estimate or production availability measurement.

Compare the stalled-tenant experiment

Keep four resources, two reserved for A, two A arrivals per tick, B arriving every three ticks, A timeout twelve, B timeout four and B hold one. Enable Stall all A calls until timeout. At sixty inspection seconds Shared FIFO gives B one completion from four offers, three timeouts, completion 25 percent and completed p95 one tick. Shared round-robin gives B two completions and two timeouts, completion 50 percent and p95 four ticks. Strict tenant partitions gives B four completions, no timeout and p95 one tick. Idle borrowing returns to one completion: a stalled A job can occupy a borrowed B slot, and borrowing never preempts it when B arrives. A completes none in all four cases.

Change the target without changing work

With the stalled fixture and Shared round-robin, set Completion target to fifty. B now passes with two of four completions and two required. Increase target to fifty-one: three completions are required and B fails. Its request identities, scheduling, completion times and p95 remain unchanged. This separates a measurement from a policy threshold. Restore ninety before comparing scheduling alternatives. A gate remains pending at the end if long timeouts leave work unresolved; ending the inspection does not pretend those jobs completed.

Choose capacity and demand deliberately

Scheduling policy selects shared oldest-first dispatch, alternating tenant dispatch, strict dedicated slots or non-preemptive idle borrowing. Total resources sets identical concurrent slots. Slots reserved for A applies only to the two partitioned policies and is capped below total resources to leave at least one B slot. A arrivals per tick offers zero to three calls each tick; B arrival every N ticks changes B frequency. Arrivals run from tick zero through eleven, then stop. A and B resource hold specify service duration. Stall all A calls overrides A duration until timeout, so its duration control is disabled. A and B total timeout include queueing plus execution; completion exactly at the deadline wins.

Inspect admission and unresolved work

Maximum waiting per tenant bounds waiting jobs only, excluding running work. A zero cap permits direct handoff into an eligible idle slot but rejects arrivals that must wait. At each tick the scheduler completes due jobs, expires overdue requests, dispatches old waiting work, then offers A requests before B. Slots are visited in numeric order. Expiry immediately frees a resource in this fixture; real cancellation may not release an underlying remote resource so promptly. Round-robin selects between queued tenants and cannot interrupt already running jobs. Logical partitions illustrate capacity isolation and do not establish authentication or data security.

Control inspection and preserve evidence

Play inspects ticks zero through twenty over sixty seconds; each three inspection seconds advances one modeled tick. Pause freezes elapsed time. Next tick pauses at the next tick, Restart returns to tick zero while preserving inputs and speed, and Inspection seeks directly. Speed selects quarter, half, normal or double pace; changes settle elapsed time at the prior rate. Input edits recompute without autoplay and hiding the tab pauses. The Full-window calculation is explicitly a forecast of this fixed fixture, available before playback; the current table and request inspector show only the selected tick. Scroll both metric tables horizontally on phones and open Every request and resource for exact text states. Expand experiment enters fullscreen and Exit full screen returns. Capture baseline saves visible results and settings, Replace baseline refreshes them, and Clear baseline removes them. Notes persist locally and Export notes downloads observations. No service is called and no real traffic, latency or uptime is measured.

Views are my own and do not represent any employer, past or present.

Search