Skip to content

feat(storage): improve compact point memory density - #30

Merged
d-tietjen merged 55 commits into
mainfrom
devon/eden-2266-reduce-small-value-shardcache-memory-overhead-without
Oct 7, 2026
Merged

d-tietjen merged 55 commits into
mainfrom
devon/eden-2266-reduce-small-value-shardcache-memory-overhead-without

Conversation

@d-tietjen

@d-tietjen d-tietjen commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Eligible plain string entries carry substantial per-entry allocation overhead. This change adds opt-in experimental-compact-point-storage, packing eligible keys and values into reusable chunks while preserving general-storage fallback, TTL/metadata semantics, shared ownership and bounded reclamation.

Issue: EDEN-2266.

The compact path borrows small RESP values and retains the reviewed OnceLock owner implementation. General entries omit duplicated key-length metadata. Correctness coverage includes replacements, promotion, epochs, scans, snapshots and absolute-expiry KEEPTTL handling. The feature remains off by default.

The candidate includes the optional CUDA correction, coherent unpublished 0.9.1 package versions (EDEN-2425 / PR32), and fixed chacha20 0.10.2 (EDEN-2426 / PR33). These release corrections are integrated into this feature branch.

Validation

Final PR head is 1c15b0af51708185a047fdf9d94a5bee31a2af7b, tree 8bcc6e876ee49c5b7dbeedd0a55feaee0dfc553b. Independent review verifies that product source, configuration, lockfile, packaging and release scripts are identical to tested proposal fc27e450ae2abb6c66ec464733fbd41ce63fedb1. The only difference is the reviewed shared-read documentation correction.

  • Native strict workspace all-target/all-feature Clippy and all-feature tests passed on that product: 646 reported successes, zero failures, 18 ignored. Eight disabled GPU benchmark functions returned early and carry no measurement credit; three explicitly enabled real GPU smoke cases passed.
  • Canonical scripts/proof-gate.sh release passed with its completion marker and genuine zero child exit/reap. Feature/TLS/dependency/public documentation gates passed. Existing live S3 checks retain their documented environment-gated scope.
  • Three coherent 0.9.1 package archives and four packaged consumer configurations passed. Publication is a separate handoff.
  • Final hosted CI passed Rust, hygiene and Docker on the final head.
  • The focused 90-observation comparison completed with a genuine zero controller/launcher exit and zero operation errors: 100,000 18-byte keys; 16/64/256/1024/4096-byte values; compressible and high-entropy patterns; three fresh repeats; same-source feature-off/compact-on/Redis 7.4.11 arms; one server CPU, 16 clients, pipeline 1, 80/20 GET/SET. All original signed-memory/95% throughput/105% p99 screens passed.

The maintainer waived CPU reservation and peer exclusion for this focused validation. The independently admitted runner retains its own server/client affinity, CPU/memory/PID limits, genuine build/image/source binding, raw signed PSS/ANON samples, native wait receipts, bounded runtime and exact owned cleanup. Results have unreserved diagnostic scope; shared-host interference remains possible. All 22 offline runner fixtures passed before execution. Old compiler-cache cleanup reclaimed 51.9 GB while preserving source and evidence; the unchanged 100 GB disk floor passed.

Observed three-repeat results

Ratios use the medians of three fresh repeats. Memory is loaded-minus-idle incremental process PSS and cgroup ANON; throughput and p99 compare compact-on with the same-source feature-off arm. These are unreserved diagnostics, with possible shared-host interference.

Pattern Value bytes PSS / Redis ANON / Redis Throughput / feature-off p99 / feature-off
compressible 16 0.794 0.787 1.006 0.982
compressible 64 0.828 0.819 0.997 0.999
compressible 256 0.856 0.851 0.998 1.006
compressible 1024 0.933 0.932 0.993 1.016
compressible 4096 0.830 0.830 0.993 1.001
high-entropy 16 0.803 0.788 1.005 0.989
high-entropy 64 0.824 0.819 0.997 1.002
high-entropy 256 0.852 0.851 1.003 1.000
high-entropy 1024 0.933 0.931 0.996 1.004
high-entropy 4096 0.830 0.830 0.993 1.001

All ten numeric screens passed. Small-value incremental PSS is about 14–21% below Redis; the 1 KiB/4 KiB advantage is retained. Worst observed throughput loss is below 0.74% and largest p99 increase is 1.63%, within the original 5% limits. All individual signed memory increments are positive, and ANON agrees with the PSS direction in every shape.

Independent final result review accepted all 90 observations, 900 raw memory samples, native wait/CSV receipts, original numeric thresholds and ANON corroboration. It verified empty owned-container queries, absent original controller/cgroup, unchanged admitted inputs, final product equivalence and successful final-head CI. The result supports feature-gated PR readiness under the maintainer’s CPU-reservation waiver; it grants no reserved performance claim or automatic production enablement. The compact feature remains off by default. Expanded capacity/HWM and shared-read campaigns remain separate follow-up coverage; historical diagnostics retain their original source/scope. No main merge or registry publication occurred.

@d-tietjen d-tietjen left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review of exact head 5050a46fdc06e68d1173f62a5f6bfad35b6d6365 (tree 9d36b4bfc5371c78c5a4e365f6b28d2cfa07973c): CLEAN within the scope below.

  • The three benchmark documentation/data changes match the accepted measurements. All 700 other tracked blobs, including Rust, Cargo, benchmark scripts and crate rustdoc inputs, are identical to measured source 78c83addff5f140236f9a659ff1e332bb9c35522. Existing source78/source98 receipts retain their original provenance; this documentation head has no fresh build or benchmark claim. A new Docker build would have a different source/context identity.
  • Source78 affected correctness, layout, feature-forwarding/minimal checks and fresh native evidence are accepted. Older default/off-feature evidence retains its older provenance. The original three-alias check's numeric outer-wrapper status remains unverified; independently audited full check08 closes alias correctness with a genuine zero wrapper exit.
  • MD05's final 510-entry manifest (8ebb5d8a23e4754c0a619ae1104fa157594ead355bce4e50b2e0b5874ecfd544), all 90 rows/900 PID1 sample gates, source/compiler/native bindings, actual limits, sampled bounds, genuine outer status 0 and exact owned cleanup were independently checked. The canonical terminal result is success true; the separate progress file remains its pre-terminal checkpoint.
  • Independent numerical recomputation agrees with the documented ratios of three-run medians. Small-value incremental PSS improves and all 20 performance screens pass. The strict larger-value memory screen is not fully met: compressible 1024 bytes increases 18 KiB, high-entropy 1024 increases 38 KiB, and high-entropy 4096 increases 94 KiB. Their causes and statistical significance are unknown.

These remain opt-in experimental, shared-host, unreserved, closed-loop diagnostics. They establish neither a capacity reservation nor formal performance qualification. Mixed-length fragmentation, shared-owner workloads, peaks and mutation-heavy online maintenance require separate evidence. Any subsequent product head requires its own exact-head review and affected validation.

d-tietjen and others added 4 commits October 7, 2026 02:44
Validate final row identities before routing high-water summaries. Preserve explicit rejection of incomplete and duplicate observations, and cover both malformed and complete duplicate identities.

Refs EDEN-2266
Register each uncovered host span using its half-open byte count. Resolve the CUDA-only strict Clippy failures without changing the public transfer handle or GPU copy behavior.

Refs EDEN-2424
Require the new internal package versions for compact-storage feature forwarding. Supply both local dependency patches during archive preparation so pre-publication checks do not resolve against the old registry feature surface.

Refresh installation guidance, the dependency inventory and the unreleased changelog. Preserve all third-party lock inputs and historical benchmark versions.

Refs EDEN-2425
Describe the OnceLock public API checks without claiming concurrent
initializer or discarded-initializer counts.

Refs EDEN-2266
@d-tietjen
d-tietjen force-pushed the devon/eden-2266-reduce-small-value-shardcache-memory-overhead-without branch from 366fdc0 to ad9b62e Compare October 7, 2026 04:53
Refs EDEN-2266. Integrates EDEN-2425 and EDEN-2426 into the feature candidate.
@d-tietjen
d-tietjen marked this pull request as ready for review October 7, 2026 07:36
@d-tietjen
d-tietjen merged commit 14217fd into main Oct 7, 2026
3 checks passed
@d-tietjen
d-tietjen deleted the devon/eden-2266-reduce-small-value-shardcache-memory-overhead-without branch October 7, 2026 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant