High-Performance DBMSs with io_uring: When and How to Use It
Matthias Jasny, Muhammad El-Hindi, Tobias Ziegler, Viktor Leis, Carsten Binnig
Abstract
We study how modern database systems can leverage the Linux io_uring interface for efficient, low-overhead I/O. io_uring is an asynchronous system call batching interface that unifies storage and network operations, addressing limitations of existing Linux I/O interfaces. However, naively replacing traditional I/O interfaces with io_uring does not necessarily yield performance benefits. To demonstrate when io_uring delivers the greatest benefits and how to use it effectively in modern database systems, we evaluate it in two use cases: Integrating io_uring into a storage-bound buffer manager and using it for high-throughput data shuffling in network-bound analytical workloads. We further analyze how advanced io_uring features, such as registered buffers and passthrough I/O, affect end-to-end performance. Our study shows when low-level optimizations translate into tangible system-wide gains and how architectural choices influence these benefits. Building on these insights, we derive practical guidelines for designing I/O-intensive systems using io_uring and validate their effectiveness in a case study of PostgreSQL's recent io_uring integration, where applying our guidelines yields a performance improvement of 14%.
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 adb03fe5-019b-4ac0-a130-a603d28845feCited by top-tier papers2
- PystachIO: Efficient Distributed GPU Query Processing with PyTorch over Fast Networks & Fast StorageJigao Luo, Nils Boeschen, Muhammad El-Hindi, Carsten BinnigVLDB 2026
- BtrLog: Low-Latency Logging for Cloud Database SystemsMaximilian Kuschewski, Lam-Duy Nguyen, Matthias Jasny, Tobias Ziegler et al.VLDB 2026
Builds on11
- What Modern NVMe Storage Can Do, And How To Exploit It: High-Performance I/O for High-Performance Storage EnginesGabriel Haas, Viktor LeisVLDB 2023 · 83 citations
- Making Kernel Bypass Practical for the Cloud with JunctionJoshua Fried, Gohar Irfan Chaudhry, Enrique Saurez, Esha Choukse et al.NSDI 2024 · 57 citations
- Exploiting Cloud Object Storage for High-Performance AnalyticsDominik Durner, Viktor Leis, Thomas NeumannVLDB 2023 · 45 citations
- Virtual-Memory Assisted Buffer ManagementViktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck et al.SIGMOD 2023 · 37 citations
- In-Network Support for Transaction TriagingTheo Jepsen, Alberto Lerner, Fernando Pedone, Robert Soulé et al.VLDB 2021 · 19 citations
Related papers
- I/O Passthru: Upstreaming a flexible and efficient I/O Path in LinuxKanchan Joshi, Anuj Gupta, Javier González, Ankit Kumar et al.FAST 2024 · 19 citations
- Tigger: A Database Proxy That Bounces With User-BypassMatthew Butrovich, Karthik Ramanathan, John Rollinson, Wan Shen Lim et al.VLDB 2023 · 17 citations
- Sampling-based Predictive Database Buffer ManagementTheo Vanderkooy, Mohammad Khalaji, Runsheng Benson Guo, Khuzaima DaudjeeVLDB 2025 · 1 citation
- RB2: Narrow the Gap between RDMA Abstraction and Performance via a Middle LayerHaifeng Sun, Yixuan Tan, Yongtong Wu, Jiaqi Zhu et al.INFOCOM 2024 · 1 citation
- Low-Latency Communication for Fast DBMS Using RDMA and Shared MemoryPhilipp Fent, Alexander van Renen, Andreas Kipf, Viktor Leis et al.ICDE 2020 · 44 citations
