docs(adr): concurrency-core decisions 0002-0005 (closes #24, #31, #33, #36)#169
Merged
Conversation
ADR-0002 shared-nothing thread-per-core (#24): shard k=HASH(KEY)%N, one owner per shard, no hot-path shared state; rejects KeyDB shared-dict spinlock, Redis single command thread, and tokio work-stealing. ADR-0003 design for determinism (#31): single-thread-per-shard + a controllable Env seam so seeded replay is byte-identical. ADR-0004 reclamation backbone (#33): none on the owned hot path, crossbeam-epoch for the rare shared structure, custom drain-list deferred to #64. ADR-0005 per-shard unsynchronized hashbrown map (#36); concurrent map only a documented fallback. Updates INDEX/OPEN/QUESTIONS. Closes #24 Closes #31 Closes #33 Closes #36 Signed-off-by: Zeke <ezequiel.lares@outlook.com>
- ADR-0004: document that this overrides issue #33's drain-list recommendation (its concurrent-reader premise collapses under single-owner shared-nothing); state the epoch-vs-custom contest is deferred to #64, not resolved here; fix citation [faster-hash-bucket-layout] -> [faster-epoch-protection]. - QUESTIONS.md: the #32 skew benchmark is filed as #170 (was wrongly marked already-filed). - ADR-0002/0005: add [valkey-io-threads-offload-scope], [keydb-spinlock-low-contention-claim]; precise dashmap/papaya wording. refs #33, refs #170 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.
The architectural root: four ADRs that everything else inherits.
What
Envseam for byte-identical seeded replay (DST).crossbeam-epochfor rare shared structures; custom drain-list deferred to [DESIGN]: HybridLog storage engine with in-place hot-set updates #64.hashbrown::HashMap; concurrent map only a documented fallback.Review focus
Closes #24. Closes #31. Closes #33. Closes #36. Part of M0: Vision and Scope.