You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bound a campaign shard's caches by its own memory request
A shard evaluates every mechanism it carries against one long-lived
System, and kernel repertoire entries are keyed on that System's
fingerprint and evicted only when it is collected, so cache occupancy
grows with the number of mechanisms packed into a shard under a bound
that is combinatorial in substrate size. The one brake,
cache_utils.memory_full(), compared resident memory to
maximum_cache_memory_percentage of total physical memory, which cannot
bound a process confined to an allocation smaller than the machine: on a
large execute node it permits tens of GB of cache while the scheduler
kills the job at its request. Real peak memory ran roughly ten times over
shard_memory_bytes, which models only the largest single repertoire and
so cannot see any of this.
Add infrastructure.maximum_cache_memory_bytes, an absolute
resident-memory ceiling that replaces the percentage when set. Grant
CACHE_HEADROOM_BYTES in shard_memory_bytes, derive the enforced ceiling
from a request with shard_cache_budget_bytes, and install it during shard
execution from the shard's own memory_bytes, deferring to a ceiling
configured at preparation time. The request and the enforced bound now
come from one figure, so the estimate cannot drift from what the job is
allowed.
An order-3 purview shard goes from a 1.5 GB request with no effective
ceiling to a 2.5 GB request with caching stopping at 2.25 GB resident.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014PYZcQZadLvUoodNM578Aa
0 commit comments