Virtual-Memory Assisted Buffer Management
Viktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck, Christian Dietrich
Abstract
Most database management systems cache pages from storage in a main memory buffer pool. To do this, they either rely on a hash table that translates page identifiers into pointers, or on pointer swizzling which avoids this translation. In this work, we propose vmcache, a buffer manager design that instead uses hardware-supported virtual memory to translate page identifiers to virtual memory addresses. In contrast to existing mmap-based approaches, the DBMS retains control over page faulting and eviction. Our design is portable across modern operating systems, supports arbitrary graph data, enables variable-sized pages, and is easy to implement. One downside of relying on virtual memory is that with fast storage devices the existing operating system primitives for manipulating the page table can become a performance bottleneck. As a second contribution, we therefore propose exmap, which implements scalable page table manipulation on Linux. Together, vmcache and exmap provide flexible, efficient, and scalable buffer management on multi-core CPUs and fast storage devices.
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 ece8de66-b744-412c-9aa2-27e51ab349faCited by top-tier papers10
- LLFree: Scalable and Optionally-Persistent Page-Frame AllocationLars Wrenger, Florian Rommel, Alexander Halbuer, Christian Dietrich et al.USENIX ATC 2023 · 17 citations
- Cloud-Native Database Systems and Unikernels: Reimagining OS Abstractions for Modern HardwareViktor Leis, Christian DietrichVLDB 2024 · 12 citations
- ExtMem: Enabling Application-Aware Virtual Memory Management for Data-Intensive ApplicationsSepehr Jalalian, Shaurya Patel, Milad Rezaei Hajidehi, Margo I. Seltzer et al.USENIX ATC 2024 · 12 citations
- StreamCache: Revisiting Page Cache for File Scanning on Fast Storage DevicesZhiyue Li, Guangyan ZhangUSENIX ATC 2024 · 9 citations
- Why Files If You Have a DBMS?Lam-Duy Nguyen, Viktor LeisICDE 2024 · 7 citations
Builds on8
- Viper: An Efficient Hybrid PMem-DRAM Key-Value StoreLawrence Benson, Hendrik Makait, Tilmann RablVLDB 2021 · 86 citations
- Optimizing Memory-mapped I/O for Fast Storage DevicesAnastasios Papagiannis, Giorgos Xanthakis, Giorgos Saloustros, Manolis Marazakis et al.USENIX ATC 2020 · 68 citations
- Rethinking Logging, Checkpoints, and Recovery for High-Performance Storage EnginesMichael Haubenschild, Caetano Sauer, Thomas Neumann, Viktor LeisSIGMOD 2020 · 43 citations
- Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile MemoryXinjing Zhou, Joy Arulraj, Andrew Pavlo, David E. CohenSIGMOD 2021 · 42 citations
- Don't shoot down TLB shootdowns!Nadav Amit, Amy Tai, Michael WeiEuroSys 2020 · 32 citations
Related papers
- Predictive Translation: High-Performance Buffer Management Without the Trade-OffsMichael Zinsmeister, Lam-Duy Nguyen, Viktor Leis, Thomas NeumannSIGMOD 2026 · 3 citations
- DaxVM: Stressing the Limits of Memory as a File InterfaceChloe Alverti, Vasileios Karakostas, Nikhita Kunati, Georgios I. Goumas et al.MICRO 2022 · 9 citations
- CARAT: a case for virtual memory through compiler- and runtime-based address translationBrian Suchy, Simone Campanoni, Nikos Hardavellas, Peter A. DindaPLDI 2020 · 16 citations
- EMT: An OS Framework for New Memory Translation ArchitecturesSiyuan Chai, Jiyuan Zhang, Jongyul Kim, Alan Wang et al.OSDI 2025 · 1 citation
- Practical DB-OS Co-Design with Privileged Kernel BypassXinjing Zhou, Viktor Leis, Jinming Hu, Xiangyao Yu et al.SIGMOD 2025 · 4 citations
