DGraphFin Force-SSD Read-Amplification Report

Real device I/O measured per page layout. Cross-check these numbers with your own eBPF/blktrace/iostat counters.

dataset synthetic-smoke · O_DIRECT · layouts natural,random · fanout 10,5 · batch 128 · pages/batch 8 · replicas 1 · generated 2026-06-02 13:32

2.5x
fewer device reads, random → natural (neighbor RA_fetch)
10.2x–10.2x
page RA_signal range — the floor no layout closes
0.1 GB
real device reads issued across layouts

The value: locality lowers device reads

Neighbor access — read amplification by layoutRA_fetch, lower is better. This is the value of a locality-aware layout.0.00x2.08x4.16x6.24x8.33x2.81xnatural7.06xrandombytes read from device / useful feature bytes
Measured vs modeled (neighbor RA_fetch)Real O_DIRECT device reads vs the in-RAM page-touch metric.0.00x2.08x4.16x6.24x8.33x2.81x2.80xnatural7.06x7.05xrandommeasured (device)modeled (in-RAM)

The neighbor pattern expands random training seeds to their sampled neighborhood. A locality-aware layout (metis) keeps those neighbors on a few 4 KiB pages, so the device serves far fewer reads per useful byte. The measured O_DIRECT amplification tracks the in-RAM modeled metric, which is exactly the agreement an external observer should confirm.

The gap: the supervised-read floor

Page access — supervised read amplificationRA_signal stays near the floor for every layout. This is the gap.0.0x3.0x6.0x9.0x12.0x10.2xnatural10.2xrandombytes read / supervised-node bytes — a floor no layout closes

The page-aligned sweep reads whole training pages. RA_fetch is ~1x for any layout, but only a fraction of nodes per page are supervised, so RA_signal — bytes read per supervised node — cannot drop below the ~4.3x floor no matter how good the layout is. That floor is the gap the layout work leaves open.

All metrics

layoutnbr RA_fetchnbr RA_signalpage RA_fetchpage RA_signalnbr pagesnbr read opsGB readMB/sO_DIRECT
natural2.81x94.0x1.99x10.2x9,1303,1280.0426yes
random7.06x235.9x1.99x10.2x22,926490.0976yes

Verify it yourself

We do not run eBPF here; the harness only issues the reads. Attach biosnoop/biolatency, blktrace or iostat -x to the device backing the store and confirm the per-I/O read intent and amplification independently.

Generated by make gnn-ssd-report · GNN Fraud visualization · DGraphFin doc