Make Valkey Multi-threaded With Userspace RCU
summary
Modified Valkey implements a coordinator–worker pattern with per-thread event loops and a single-writer/multiple-reader model using userspace RCU to enable lock-free reads and automatic memory reclamation. The prototype changes under 2,000 lines of code to add master/worker/subthread I/O, an RCU-backed lock-free dictionary, and writer serialization; it consistently improves throughput and often outperforms the baseline, reaching >1,000,000 ops/sec on a standard server while noting unstable tail latency across RCU flavors.
AI-written summary · about
chapters (13)
- 0:00Multi-threaded Valkey with RCU
- 1:05NT Radius prototype changes
- 3:00Concurrency challenges
- 7:16Master-worker-subthread
- 11:18Lock-free with RCU
- 16:20Benchmark setup and RCU
- 17:23Cache performance results
- 18:48Read-write ratio performance
- 20:13Comparison with Valkey
- 24:53Latency matrix analysis
- 26:43RCU integration advantages
- 29:14Research prototype summary
- 30:41Q&A
related talks
40mKernel Locking Engineering
24mPREEMPT_RT Q&A with tglx
45mRCU Office Hour
30mKernel Hardening With Protection Keys
44mShip your Critical Section, Not Your Data: Enabling Transparent Delegation with...
30mSo you want to torture RCU?
35mMake RCU do less (and disturb CPUs less)!
21mPreview: Operating Systems
