Concurrency

Lock-free shared infrastructure

A shared infrastructure component relied on coarse synchronized access and generated extreme allocation pressure across the platform.

coarse lock → lock-free
Model
near zero
Allocation
shared platform code
Scope

Context

A shared internal component sat beneath many workloads on the platform, so its per-call cost was multiplied by every caller rather than being a cost one team could absorb in isolation.

Problem

A commonly used internal component serialised callers through synchronized sections and created a very high allocation rate. Because the library sat beneath many workloads, its cost was multiplied across the platform.

Constraints

The component was shared infrastructure with many existing callers, so its external behaviour and correctness guarantees had to be preserved — this ruled out a rewrite that changed call-site semantics, and left ordering/visibility guarantees as the main thing that could safely be relaxed.

Investigation

Contention profiles, allocation analysis and flamegraphs identified both shared locking and object churn as structural rather than incidental costs.

Approach

Trade-offs

Lock-free access moved complexity from "one critical section to reason about" to "an ordering argument for each access" — correct, but harder for future maintainers to verify by inspection than a synchronized block. That cost was accepted because the component sat on enough hot paths that the alternative (leaving the lock in place) was multiplied across the whole platform.

Measured outcome

The redesigned path was near zero-allocation and removed the principal synchronized bottleneck, measured via the same allocation and contention profiling used to diagnose the original problem. Specific throughput/allocation-rate figures and component identity are withheld here as client-confidential; the qualitative before/after (coarse lock → lock-free, high allocation → near zero) is what this page discloses.