A C++20 NUMA-aware concurrent cache, authored end-to-end and benchmarked at 19× the throughput of Meta CacheLib on EC2 c6a.metal (14.3M vs 740K ops/s, both with full eviction). Accompanied by a technical whitepaper (v1.28.0) with earlier validation on EC2 c6i.metal.
Challenge
Modern multi-socket servers expose NUMA topology where remote memory access is materially slower than local. Existing caches (Redis, Memcached, Meta CacheLib) ignore NUMA and use static coarse-grained sharding. No production-grade cache treats NUMA topology as an adaptive input to per-page placement combined with a contention-aware eviction policy.
Approach
Designed and implemented a C++20 cache with per-node physical block allocation, PMR-backed containers, and per-node sharded KeyStore. Used SeqLock-based lock-free reads to remove synchronization from the read path, and replaced ARC with S3-FIFO using a per-slot atomic frequency counter for lock-free hit tracking at zero extra memory. Added SIMD-accelerated hashtables with seqlock torn-read protection, cooperative lock draining, and NUMA-aware memory placement as a first-class design input. Validated on real multi-socket hardware (EC2 c6a.metal and c6i.metal) and authored a technical whitepaper (v1.28.0) with DOI on Zenodo.
Outcome
19× throughput over Meta CacheLib on EC2 c6a.metal — 14.3M ops/s vs 740K ops/s, both systems with full eviction. Earlier validation on EC2 c6i.metal (2 sockets, 128 vCPUs) showed lock-free reads expose 2.3× more cross-node overhead than shared_mutex, confirming NUMA placement as the dominant signal. Also demonstrated empirically that ARC's adaptive parameter collapses under thread contention — a failure mode absent from the original SOSP 2003 paper's single-threaded assumptions.