ALLOCATE · OBSERVE · COMPARE

Failure isolation: contain a stalled dependency

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

60-second scheduler inspection

Your experiment

Keep A stalled. Compare a shared FIFO pool with strict isolation: observe which B requests still finish and which resource slots remain held.

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

These are bounded downstream calls carrying A/B tenant labels. No A2A transport or circuit-breaker state machine is implemented.

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

Bulkhead pattern · Official AICassindra articles

Contain a stalled dependency

Keep A calls stalled until timeout and compare shared FIFO with strict tenant partitions under the same demand. Inspect which B requests finish while A owns slots. Lower A timeout to release stalled slots earlier, then compare B outcomes again without changing its own service time. Isolation can reserve capacity for B, but it cannot make A healthy. A higher B completion rate here is evidence about this deterministic resource schedule, not a measured availability improvement for an actual A2A service or a circuit-breaker benchmark.

Allocate workers and demand

Total resources is the number of identical processing slots. Slots reserved for A divides strict or borrowing partitions and is capped below the total so B retains at least one home slot. A arrivals per tick and B arrival every N ticks define offered demand during ticks zero through eleven. A resource hold and B resource hold determine service duration. Stall all A calls until timeout overrides the A hold duration. A total timeout and B total timeout begin at arrival, so queue time consumes the budget before work starts.

Choose dispatch and admission rules

Shared FIFO uses arrival ordering. Shared round-robin prefers a waiting tenant other than the one most recently dispatched, but cannot preempt a running call. Strict tenant partitions reserve home slots even when another tenant is waiting. Partitions with idle borrowing allows a slot to run foreign work when its home queue is empty; borrowed work is not preempted when home demand returns. Maximum waiting per tenant limits queued work separately from active slots. A zero queue still allows direct handoff into an eligible free slot.

Read the full outcome

Completion target changes only the final outcome gate, not scheduling. Completion rate includes all offered requests, including rejections and timeouts. The displayed p95 concerns completed latency only and can look attractive while many requests fail. A gate remains pending if work is still waiting or running at tick twenty. Play spreads twenty ticks over a minute; Pause, Next tick, Restart, Speed and Inspection allow reproducible comparisons. The request inspector and tables show exact ownership and states. Completion at a deadline wins before expiration; expired work immediately releases its slot. This fixture does not model cancellation-resistant workers, CPU contention, network calls or security isolation between tenants.

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

Search