Symbiosis: The Art of Application and Kernel Cache Cooperation
summary
Symbiosis dynamically sizes application and kernel caches for LevelDB, WiredTiger and RocksDB by online simulation, claiming 1.5× average and >5× peak speedups across 190 workloads and matching-or-beating the best static config in 98% of cases. It uses a ghost cache with incremental reuse to simulate candidate partitions one-by-one, a short warmup and an ordered sweep of app-cache sizes, plus misalignment-aware sampling to handle compressed-page vs. block mismatches; simulation adds ~0.1% space and ~1% CPU overhead.
AI-written summary · about
chapters (9)
- 0:00Symbiosis framework
- 3:05Cache simulation challenges
- 5:16Accuracy and overhead optimization
- 8:49Two-layer cache with ghost cache
- 11:22Cache sampling misalignment
- 13:31Adapting to new configurations
- 14:16Evaluation on static workloads
- 14:58Adapting to dynamic workloads
- 18:36Conclusion
related talks
15mAccelerate Application Response Times with True Cache
44mHow to speed up your application using JCache
19mSILK: Preventing Latency Spikes in Log-Structured Merge Key-Value Stores
53mLeveraging Caching For Cloud Native Applications
19mA zone-aware cache system for distributed databases
17mScalaCache: Scalable User-Space Page Cache Management with Software-Hardware...
20mAdaptive Online Cache Capacity Optimization via Lightweight Working Set Size...
16mJohnny Cache: the End of DRAM Cache Conflicts (in Tiered Main Memory Systems)
