Johnny Cache: the End of DRAM Cache Conflicts (in Tiered Main Memory Systems)
Baptiste Lepers, Willy Zwaenepoel
Abstract
We demonstrate that hardware management of a tiered memory system offers better performance for many applications than current methods of software management. Hardware management treats the fast tier as a cache on the slower tier. The advantages are that caching can be done at cache line granularity and that data appears in fast memory as soon as it is accessed. The potential for cache conflicts has, however, led previous works to conclude these hardware methods generally perform poorly.
In this paper we show that low-overhead conflict avoidance techniques eliminate conflicts almost entirely and thereby address the above limitation. We explore two techniques. The static technique tries to avoid conflicts between pages at page allocation time. The dynamic technique relies on monitoring memory accesses to distinguish between hot and cold pages. It uses this information to avoid conflicts between hot pages, both at page allocation time and by dynamic remapping at runtime.
We have implemented these techniques in the Linux kernel on an Intel Optane machine in a system called Johnny Cache (JC). We use HPC applications, key-value stores and databases to compare JC to the default Linux tiered memory management implementation and to HeMem, a state-of-theart software management approach.
Our measurements show that JC outperforms Linux and HeMem for most applications, in some cases by up to 5×. A surprising conclusion of this paper is that a cache can provide close-to-optimal performance by minimizing conflicts purely at page allocation time, without any access monitoring or dynamic page remapping.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 43603a2f-70ce-4fed-8da7-1c010a389925Cited by top-tier papers9
- Managing Memory Tiers with CXL in Virtualized EnvironmentsYuhong Zhong, Daniel S. Berger, Carl A. Waldspurger, Ryan Wee et al.OSDI 2024 · 77 citations
- Tiered Memory Management: Access Latency is the Key!Midhul Vuppalapati, Rachit AgarwalSOSP 2024 · 22 citations
- Optimizing File Systems on Heterogeneous Memory by Integrating DRAM Cache with Virtual Memory ManagementYubo Liu, Yuxin Ren, Mingrui Liu, Hongbo Li et al.FAST 2024 · 13 citations
- Chrono: Meticulous Hotness Measurement and Flexible Page Migration for Memory TieringZhenlin Qi, Shengan Zheng, Ying Huang, Yifeng Hui et al.EuroSys 2025 · 9 citations
- CHARM: Chiplet Heterogeneity-Aware Runtime Mapping SystemAlessandro Fogli, Bo Zhao, Peter R. Pietzuch, Jana GicevaEuroSys 2026 · 2 citations
Builds on2
- TMO: transparent memory offloading in datacentersJohannes Weiner, Niket Agarwal, Dan Schatzberg, Leon Yang et al.ASPLOS 2022 · 103 citations
- HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVMAmanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez et al.SOSP 2021 · 93 citations
Related papers
- KLOCs: kernel-level object contexts for heterogeneous memory systemsSudarsun Kannan, Yujie Ren, Abhishek BhattacharjeeASPLOS 2021 · 22 citations
- Nomad: Non-Exclusive Memory Tiering via Transactional Page MigrationLingfeng Xiang, Zhen Lin, Weishu Deng, Hui Lu et al.OSDI 2024 · 59 citations
- FlexMem: Adaptive Page Profiling and Migration for Tiered MemoryDong Xu, Junhee Ryu, Kwangsik Shin, Pengfei Su et al.USENIX ATC 2024 · 41 citations
- Exploring the Design Space of Page Management for Multi-Tiered Memory SystemsJonghyeon Kim, Wonkyo Choe, Jeongseob AhnUSENIX ATC 2021 · 108 citations
- Merchandiser: Data Placement on Heterogeneous Memory for Task-Parallel HPC Applications with Load-Balance AwarenessZhen Xie, Jie Liu, Jiajia Li, Dong LiPPoPP 2023 · 18 citations
