52 GB owned. 174 GB effective. 0 GB rented.
Effective means the managed-heap DRAM that the same information would need if it were held as ordinary V8 objects.
Author: Brennan DeCrow
Affiliation: ATESO Labs / ManyMoats Research
Parent Research Authority: ATESO & The Magma
Runtime: The Thermodynamic Obsolescence of Document-Centric Execution
for Continuous Spatial Compute (DeCrow, 2026; USPTO App
#64/159,586) [1]. Formal treatment: DeCrow (2026b), preprint v2
[2].
Status: M-Tier Master White Paper. Gold Master
Candidate (post-Stage 5 synthesis, 22 September 2026)
Review lineage: physics seat → spatial seat → systems
seat → long-context seat → synthesis seat
Next stage: Seat A & Seat B final stamp
Evidence notation (inherited from the parent paper). F formal result under stated assumptions · R reproduced from an executable artifact · U author-reported, raw data not in the package · V independently checked against a vendor, standards or market-data source · P proposed design or experiment not yet run. Appendix B assigns a mark to every number in this paper.
In memory-heavy servers, DRAM is now the largest line on the invoice. Yet much of the DRAM a managed runtime occupies holds no information.
This page did not measure it. Appendix A reports a 64-byte numeric record held as an ordinary V8 object at 224 bytes of live heap (β = 3.50) before any collector headroom. Across nineteen representations in three runtimes, the same record is listed between 64 and 580 bytes.
ATESO stores the record as a 64-byte granule plus 8.06 bytes of directory and Merkle metadata. It carries no object headers and needs no collector.
The result is a closed-form law. When the representation being replaced has β = 3.5, every resident ATESO byte carries the state of 4.14 bytes of managed heap (Direct Mode). The figure falls to 2.20 bytes when unpartitioned writers force 128-byte padding (Siege Mode).
On a 52 GB two-Mac reference cluster with a 10 GB operating reserve, the law yields 174 GB of managed-heap equivalent; on a 256 GB server, about 1 TB. We also state where it stops: against a flat, off-heap buffer, ATESO is 11% larger, not smaller.
Let a workload hold S bytes of information. A managed runtime needs Mheap bytes of DRAM to hold it; ATESO needs MATESO. The working-set multiplier is their ratio:
| Symbol | Meaning | Value used |
|---|---|---|
| β | Live managed bytes per byte of information | 3.5 (measured, Appendix A) |
| αGC | Fraction of the heap a collector keeps free | 0.25 (conservative, §2.2) |
| γ | Slots per granule: 1 packed, 2 padded to a 128-byte line | 1 or 2 |
| f | ATESO metadata per payload byte | 0.12598, budgeted at 0.126 |
Like Amdahl’s law [3], it is exact given its inputs. Its empirical content lives in β, which Appendix A measures rather than assumes.
┌──────────────────────────────────────────────────────────────────────┐
│ DIRECT MODE W = 4.14× one writer per 128-byte line, packed │
│ 64-byte granules (γ = 1) │
│ 42 GB arena → 174.1 GB managed-heap equivalent │
│ (52 GB cluster → 3.35× system-level effective) │
├──────────────────────────────────────────────────────────────────────┤
│ SIEGE MODE W = 2.20× unpartitioned writers, granules padded │
│ fallback to a full 128-byte line (γ = 2) │
│ 42 GB arena → 92.2 GB managed-heap equivalent │
└──────────────────────────────────────────────────────────────────────┘
β = 3.5 stated (V8 objects) · α_GC = 0.25 · f = 0.126 · 10 GB reserve
At those prices, the 256 GB in the reference server below costs $3,280–3,800 in Q1 2026 contract terms, and $6,344 at Citi’s Q4 2026 projection.
| Server + managed runtime | Server + ATESO | Two Macs + ATESO | |
|---|---|---|---|
| Physical DRAM | 256 GB DDR5 RDIMM | 256 GB DDR5 RDIMM | 52 GB unified (36 + 16) |
| Reserved for OS and runtime | 8 GB | 8 GB | 10 GB (6 + 4) |
| State-bearing DRAM | 248 GB | 248 GB | 42 GB |
| Information held | 53.1 GB | 220.3 GB | 37.3 GB |
| Managed-heap equivalent | 248.0 GB | 1,027.8 GB | 174.1 GB |
| Hardware price | $15,200 | $15,200 | $5,598 (list) |
| Price per GB of information | $286 | $69 | $150 |
Mac prices are Apple list prices: $3,599 for the 14-inch M5 Max (36 GB, 2 TB) [A1] and $1,999 at launch for the 14-inch M1 Pro (16 GB) [A6]. The server figure is the author’s reference quote for a dual-socket 2U configuration.
[Fig. 1 — DRAM needed to hold the cluster's 37.3 GB of information]
Managed heap: V8 objects (β = 3.5) + 25% collector headroom 174.1 GB
██████████████████████████████████████████████████████████
├─ information .................................. 37.3 GB
├─ headers, tagged slots, boxed numbers ......... 93.3 GB
└─ collector headroom ........................... 43.5 GB
ATESO resident arena 42.0 GB
██████████████
├─ information .................................. 37.3 GB
└─ directory + Merkle tree ...................... 4.7 GB
We held one million copies of one record in each representation. The record is eight float64 values, 64 bytes of information. We then measured live heap after a full collection (Appendix A).
JSON.parse output all
measure the same.double fields costs 84 bytes (β
= 1.31). Boxing the fields as Double raises that to 244
bytes (β = 3.81). A HashMap<String, Double> per
record costs 580 bytes (β = 9.06).__slots__ class costs 296 bytes (β = 4.63), a
dataclass 344 bytes (β = 5.38) and a dict 472 bytes (β = 7.38).Float64Array,
double[], array('d') and NumPy cost 64–65
bytes (β ≈ 1.0).β is a property of the representation, not of the language. The
reference value, β = 3.5, is a stated constant on this page, not a heap size this page measured. This page states V8 pointer
compression as off (v8_enable_pointer_compression = 0),
so tagged slots are 8 bytes wide. Builds that enable compression [8], as
Chrome does, use 4-byte slots and have a smaller β.
A tracing collector needs free space to work. We charge it αGC = 0.25, a heap 1.33× the live data.
This is generous to the managed runtime. Hertz and Berger found that a generational collector matched explicit memory management only when given five times as much memory. With three times as much, it ran 17% slower; with twice as much, nearly 70% slower [6]. Any larger headroom raises W, so on this term the paper’s figure is conservative.
For illustration, 40 GB of information at β between 3.2 and 4.1 needs 170.7–218.7 GB of managed heap. Across the measured range, β from 1.0 to 9.06, the same 40 GB needs 53–483 GB.
Every record is a 64-byte granule in a preallocated, cache-aligned
arena (.many). Its metadata is fixed:
| Component | Bytes per granule | Share of payload |
|---|---|---|
| Payload | 64 | — |
| Directory entry | 8 | 12.5% |
| Merkle tree (64 KiB leaves, 32-byte digests) | 0.0625 | 0.098% |
| Total | 72.0625 | f = 12.598% |
The arena has no object headers, per-field pointers, boxed numbers or collector headroom. The overhead is not zero: it is 12.6%, fixed and paid once.
[Fig. 2 — Regime topology]
DIRECT MODE (W = 4.14×) SIEGE MODE (W = 2.20×)
each line has exactly one writer any core may write any granule
[Core 0] [Core 1] [Core 2] [Core 0] [Core 1] [Core 2]
│ │ │ ╲ │ ╱
▼ ▼ ▼ ╲ │ ╱
┌────────┐ ┌────────┐ ┌────────┐ ┌──────┬──────┬──────┬──────┐
│ Tile 0 │ │ Tile 1 │ │ Tile 2 │ │ G0 ░ │ G1 ░ │ G2 ░ │ G3 ░ │
└────────┘ └────────┘ └────────┘ └──────┴──────┴──────┴──────┘
packed · γ = 1 · no line shared padded (░) · γ = 2 · no line shared
The managed heap is bounded below. ATESO’s metadata is bounded above:
The multiplier is therefore bounded below:
.spine). CPU workers own disjoint, line-aligned tiles. On
the GPU, XPBD constraint projection runs over graph-colored partitions,
so no two constraints of one color write the same particle [11].hw.cachelinesize)
[A2]. On the M1 generation, independent measurement puts the P-core L1D
at 64-byte lines and the shared L2 at 128-byte lines [A3]. Two 64-byte
granules therefore share one coherence granule.[Fig. 3 — One 128-byte coherence granule, three layouts]
0B 64B 128B
┌───────────────────────────┬───────────────────────────┐
│ Granule A (Core 0) │ Granule B (Core 0) │ Direct: packed,
└───────────────────────────┴───────────────────────────┘ one writer, no bounce
┌───────────────────────────┬───────────────────────────┐
│ Granule A (Core 0) │ Granule B (Core 1) │ Contended: packed,
└───────────────────────────┴───────────────────────────┘ line bounces
┌───────────────────────────┬───────────────────────────┐
│ Granule A (any core) │ padding │ Siege: padded,
└───────────────────────────┴───────────────────────────┘ no bounce, 2× space
| Representation replaced (measured) | β | W Direct | W Siege | Managed heap for the cluster’s 37.3 GB* |
|---|---|---|---|---|
Packed buffer on a collected heap (double[]) |
1.00 | 1.18× | 0.63× | 49.7 GB |
| JVM class, primitive doubles | 1.31 | 1.55× | 0.82× | 65.3 GB |
| V8 object, integer fields (fresh shape) | 1.50 | 1.78× | 0.94× | 74.6 GB |
| V8 array of double arrays | 1.88 | 2.22× | 1.18× | 93.3 GB |
| V8 object, double fields (reference) | 3.50 | 4.14× | 2.20× | 174.1 GB |
JVM class, boxed Double |
3.81 | 4.52× | 2.39× | 189.6 GB |
CPython __slots__ class |
4.63 | 5.48× | 2.90× | 230.4 GB |
| CPython dataclass | 5.38 | 6.37× | 3.38× | 267.7 GB |
V8 Map |
6.75 | 7.99× | 4.23× | 335.7 GB |
| CPython dict | 7.38 | 8.74× | 4.63× | 367.1 GB |
JVM HashMap<String, Double> |
9.06 | 10.73× | 5.68× | 450.7 GB |
*With αGC = 0.25. The earlier working range, β from 3.2 to 4.1, corresponds to W from 3.79× to 4.86×.
Against an off-heap packed buffer
(Float64Array, NumPy, a C array), which carries no
collector headroom, W = 1/1.126 = 0.89×. ATESO is 11% larger there.
Against data that is already packed, ATESO’s advantage is not density.
It is what the 12.6% metadata buys: addressing, integrity and
synchronization.
The law applies per machine. Any host, whether Apple Silicon, AMD EPYC or AWS Graviton, holds W times more information in ATESO than in the reference representation, in the same state-bearing DRAM.
A 256 GB server with an 8 GB reserve holds 220.3 GB of information as resident granules. That is the equivalent of 1,027.8 GB of managed heap.
The cluster has two hosts, two address spaces and one partitioned state space. Its capacity obeys the parent paper’s bound [2, §2.2]: each host’s shard must fit in that host’s memory minus its reserve.
| Node 1: M5 Max | Node 2: M1 Pro | Cluster | |
|---|---|---|---|
| Role | Deliberative planner, state admission root | Deterministic reflex muscle | — |
| Nominal memory | 36 GB | 16 GB | 52 GB |
| Declared reserve | 6 GB | 4 GB | 10 GB |
| Arena | 30 GB | 12 GB | 42 GB |
| Granules | 416,305,290 | 166,522,116 | 582,827,406 |
| Information held | 26.644 GB | 10.657 GB | 37.301 GB |
| Managed-heap equivalent | 124.3 GB | 49.7 GB | 174.1 GB |
.spine rings and log buffers. It is a
declared configuration. Per the parent protocol [2, Appendix A.1], it is
to be replaced by each host’s measured resident-set limit..spine) of 65,536 slots × 64 bytes = 4 MiB. Across hosts
the ring is a protocol, not shared memory: the link carries explicit
messages [2, §2.2].Here Δ is the number of divergent granules, D the number of divergent leaves and L the number of leaves; message framing is excluded. Clustered divergence touches few leaves and is cheap. When most of a leaf has diverged, shipping the whole 64 KiB leaf costs less than the digest exchange, and the protocol does that instead. This is the anti-entropy pattern of Dynamo [12], applied at granule resolution.
fsync does not flush the drive’s write cache.
Durability requires fcntl(F_FULLFSYNC) [A5].§4.4–4.6 are design specifications (P). They become results when the author’s implementation and traces join the reproduction package.
| Bytes | Node 1 | Node 2 | Cluster |
|---|---|---|---|
| Arena | 30,000,000,000 | 12,000,000,000 | 42,000,000,000 |
| Granules N | 416,305,290 | 166,522,116 | 582,827,406 |
| Payload (N × 64) | 26,643,538,560 | 10,657,415,424 | 37,300,953,984 |
| Directory (N × 8) | 3,330,442,320 | 1,332,176,928 | 4,662,619,248 |
| Merkle tree | 26,019,104 | 10,407,648 | 36,426,752 |
| Leaves / depth | 406,549 / 19 | 162,620 / 18 | — |
| Unallocated | 16 | 0 | 16 |
| Managed-heap equivalent | 124.337 GB | 49.735 GB | 174.071 GB |
| Declared reserve | Arena | Direct equivalent | Siege equivalent |
|---|---|---|---|
| 6 GB | 46 GB | 190.6 GB | 101.0 GB |
| 8 GB | 44 GB | 182.4 GB | 96.6 GB |
| 10 GB | 42 GB | 174.1 GB | 92.2 GB |
| 12 GB | 40 GB | 165.8 GB | 87.8 GB |
| 14 GB | 38 GB | 157.5 GB | 83.4 GB |
hw.memsize = 38,654,705,664 B = 36 × 230 B, and
the cluster’s physical total is 55,834,574,848 B.The memory wall is a fabrication problem. For object-graph workloads it is also, and far more cheaply, a representation problem.
A plain JavaScript object spends 224 bytes to hold 64 bytes of numbers, and its collector then asks for a third more. ATESO spends 72. That ratio, measured rather than assumed, is the whole of the 4x multiplier.
On the same server, it delivers 4.14× more working set for the same money. On two owned Macs, it turns 52 GB of silicon into 174 GB of managed-heap equivalent, with no rent due.
The law is exact, and so are its limits. It rises with bloat, falls to 1.55× against disciplined JVM classes and inverts against a flat buffer. Within its domain of object graphs, document-shaped records and agentic state trees, resident execution is the law.
Memory has defected.
Protocol. One million records per case. Each record holds eight float64 values (64 bytes of information). Live bytes were read after a full collection.
heapUsed plus external delta, Node.js
22.22.2, V8 12.4.254.21, pointer compression off.tracemalloc, NumPy 2.4.4.The host was Linux x86-64, measured 22 September 2026. Sixty-four-bit object layouts in all three runtimes do not depend on the instruction set. Re-measurement on the arm64 reference hosts is scheduled (P).
| Runtime | Representation | Bytes per record | β |
|---|---|---|---|
| V8 | Object literal, 8 double fields | 224.01 | 3.500 |
| V8 | Class instance, 8 double fields | 224.01 | 3.500 |
| V8 | JSON.parse, 8-field document |
224.01 | 3.500 |
| V8 | Object literal, 8 small integers, fresh shape | 96.01 | 1.500 |
| V8 | Same, after the shape stored doubles | 223.23 | 3.488 |
| V8 | Map, 8 string keys |
432.01 | 6.750 |
| V8 | Array of 8-element double arrays | 120.00 | 1.875 |
| V8 | Float64Array, packed |
64.00 | 1.000 |
| JVM | Class, 8 primitive double fields |
84.00 | 1.313 |
| JVM | Record, 8 double components |
84.00 | 1.313 |
| JVM | Class, 8 boxed Double fields |
244.00 | 3.813 |
| JVM | HashMap<String, Double>, 8 keys |
580.00 | 9.063 |
| JVM | double[], packed |
64.00 | 1.000 |
| CPython | Class with __slots__ |
296.45 | 4.632 |
| CPython | Plain class | 344.45 | 5.382 |
| CPython | Dataclass | 344.45 | 5.382 |
| CPython | Tuple of 8 floats | 304.45 | 4.757 |
| CPython | Dict, 8 string keys | 472.45 | 7.382 |
| CPython | array('d'), packed |
64.30 | 1.005 |
| CPython | NumPy (N, 8) float64 | 65.35 | 1.021 |
Anatomy of the reference record (V8, 224 bytes):
| Part | Bytes |
|---|---|
| Object header: map, properties and elements pointers | 24 |
| 8 tagged slots | 64 |
| 8 heap-number boxes × 16 | 128 |
| Array slot | 8 |
| Total | 224 |
Reproduction. The files are in
RESEARCH/STAGE5-BETA-BENCHMARK/.
node --expose-gc bloat_v8.mjs
node --expose-gc bloat_v8_smi.mjs
python3 bloat_py.py
javac Bloat.java && java -XX:+UseSerialGC -Xms3g -Xmx3g Bloat
| Claim | Value | Class | Where |
|---|---|---|---|
| Working-set law | W ≥ β / ((1 − α)(γ + f)) | F | §3.1 |
| Reference bloat factor | β = 3.500 | R | App. A |
| Collector headroom | α = 0.25, conservative | Stated assumption | §2.2, [6] |
| ATESO metadata | f = 0.12598 ≤ 0.126 | F | §2.4 |
| Direct multiplier | 4.14× | F | §3.2 |
| Siege multiplier | 2.20× | F | §3.3 |
| Multiplier vs off-heap packed buffer | 0.89× | F | §3.4 |
| Apple Silicon coherence granule | 128 B | V | §3.3, [A2, A3] |
| Reference hosts | M5 Max 36 GB (32-core GPU bin); M1 Pro 16 GB | V + U | [2] |
| Declared reserve | 6 GB + 4 GB | P | §4.2 |
| Cluster managed-heap equivalent | 174.1 GB | F, given the reserve | §5.2 |
| Server with ATESO, managed-heap equivalent | 1,027.8 GB | F | §4.1 |
| Server price | $15,200 | U | §1.2 |
| Mac prices | $3,599 + $1,999 | V | [A1, A6] |
| Q1 2026 conventional DRAM contract rise, realized | +93–98% QoQ | V | [T7] |
| Q1 2026 server DRAM contract rise, forecast | ≈ +90% QoQ | V | [T1] |
| 64 GB RDIMM Q1 2026 contract | $820–950 | V | [T2] |
| 64 GB RDIMM Q4 2026 projection | $1,586 | V | [T3] |
| 32 GB DDR5, Sept → Nov 2025 | $149 → $239 | V | [T4] |
| Q3 2026 server DRAM contract rise | +13–18% | V | [T5] |
| Memory share of a 512 GB reference build | ≈ 18% → ≈ 53% | V | [T6] |
.spine backpressure and counter wrap |
600,000 records | R | §4.3 |
| Cross-host credit flow control | — | P | §4.3 |
| Static ownership, no failover | — | P | §4.4 |
| Differential Merkle resync | — | P | §4.5 |
| Redo-log crash consistency | — | P | §4.6 |
| Dirty-page reduction under clustering | 94.15% / 94.2% | F / R | §5.1 |
| Symbol | Meaning |
|---|---|
| S | Information held, bytes (64 per granule) |
| β | Live managed bytes per byte of information |
| αGC | Free fraction a collector keeps in its heap |
| γ | Slots per granule (1 packed, 2 padded) |
| f | ATESO metadata bytes per payload byte |
| W | Working-set multiplier, Mheap / MATESO |
| N | Granule count |
| L, D, Δ | Merkle leaves, divergent leaves, divergent granules |
| Mi, Mireserved | Host memory and its operating reserve |
Parent research
Systems literature
Market data
Vendor and platform sources
sysctl hw.cachelinesize reports 128 on Apple silicon.
https://github.com/ERGO-Code/HiGHS/issues/3221MTLDevice.recommendedMaxWorkingSetSize.fsync(2) manual page:
F_FULLFSYNC.