aboutsummaryrefslogtreecommitdiffstats
path: root/docs/research/014-layout-persistence.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-26 05:48:40 +0100
committereunhhu <[email protected]>2026-09-26 05:48:40 +0100
commitc7ae77cdf4623c3eb07935081510478be9063024 (patch)
tree79430358736adab332b4d5bb61c9e7b78e67a30f /docs/research/014-layout-persistence.md
parent7771461a93f993425f97d4e05c91e64d17179e60 (diff)
downloadpure-c7ae77cdf4623c3eb07935081510478be9063024.tar.gz
pure-c7ae77cdf4623c3eb07935081510478be9063024.zip
Shard pure-serve across cores
A burst now looks at the store once (pure_store_pin) instead of once per request; another shard's commit ends before its answer is sent, so a request made after that answer still reads it. With this alone one thread serves 125k small keep-alive reads per second, as many as axum on three cores, with a shorter p99. --threads N runs a shard per thread: its own SO_REUSEPORT listener, epoll set, runtime domain, app and store handle. Writer sessions of the tree store now take turns inside a process with a mutex (the file lock belongs to the process and does not keep threads apart), and revisions settle concurrent edits of a key. A module with states runs on one thread. Three shards serve 151k reads per second; they still commit one by one, so durable writes and 1 MiB reads are better on one thread for now, which stays the default. Note 075 records the numbers.
Diffstat (limited to 'docs/research/014-layout-persistence.md')
0 files changed, 0 insertions, 0 deletions