docs: correct the durable-save-tail record to the measured c7g reality#591
Merged
Conversation
Reposition the tail-latency docs from the (refuted) moat thesis to what was actually measured on c7g, so the docs stop overclaiming: - CONFIG.md (persist_cpu / "Dedicated persist core"): pinning the persist thread to a dedicated core makes the concurrent-snapshot tail WORSE (291ms float -> 1,125ms pinned, measured), not better -- it slows the encode and lengthens the memory-bandwidth-contention window. Default (float) is best for tail; the knob is retained only for CPU isolation for other reasons. Residual gap to ms-class is a fundamental bandwidth-headroom tradeoff. - PERSISTENCE.md (save-backpressure throttle #577): the throttle makes the tail WORSE (3.5s -> 16.75s at pct=10, measured), not the ~3-4x cut originally hypothesized. Corrected the "queue drains" claim and the fix reference: PR-B (#586) also failed; the per-slot Arc-COW (#588) is the actual fix (3.5s -> 291ms, 11.5x), with a fundamental residual. - TAIL_LATENCY.md: the "moat" framing was refuted by this very harness; state the honest result (baseline tail ties Dragonfly, qps/core + memory win, durable-save tail went catastrophic -> competitive/sub-second, NOT category-leading on the during-snapshot tail). No code change. Documents the #576/#588/#589 measured record so future work does not repeat the throttle/pinning dead ends (both worsen a bandwidth-duration-bound tail). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Zeke <ezequiel.lares@outlook.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Repositions the tail-latency docs from the (refuted) moat thesis to the measured c7g reality, so the docs stop overclaiming. No code change.
persist_cpu): the doc claimed pinning "removes that steal"; MEASURED, pinning the persist thread to a dedicated core makes the concurrent-snapshot tail WORSE (291ms float -> 1,125ms pinned) because it slows the encode and lengthens the shared-memory-bandwidth contention window. Default (float) is best for tail; the knob is retained only for CPU isolation for other reasons. Added the fundamental-bandwidth-headroom explanation of the residual.save-backpressure-percent, perf: save_backpressure_percent throttle -- cheap stopgap for the concurrent-snapshot p99.9 (#576 PR-A) #577): the doc claimed the throttle "cuts that tail ~3-4x"; MEASURED, it makes the tail WORSE (3.5s at pct=100 -> 16.75s at pct=10). Corrected the "queue drains instead of building" claim and the fix pointer (PR-B perf: run the snapshot dump on a dedicated thread, uncontended datapath during a save (closes #576) #586 also failed; the per-slot Arc-COW perf: per-slot Arc copy-on-write snapshot isolation, uncontended datapath during a save (#576 core) #588 is the actual fix, 3.5s -> 291ms).Why
The whole #576 saga was about not shipping a claim the measurement contradicts. These docs still carried the pre-measurement thesis and two factually-wrong "this helps" claims (throttle, pinning) that both actually WORSEN a bandwidth-duration-bound tail. This corrects the record so future work does not repeat the dead ends.
no dashes, no memory-link syntax, prior-art gate passes. Closes the docs half of #589 / #518 reposition.
🤖 Generated with Claude Code