Optimizing Memory-mapped I/O for Fast Storage Devices
Anastasios Papagiannis, Giorgos Xanthakis, Giorgos Saloustros, Manolis Marazakis, Angelos Bilas
Abstract
Memory-mapped I/O provides several potential advantages over explicit read/write I/O, especially for low latency devices: (1) It does not require a system call, (2) it incurs almost zero overhead for data in memory (I/O cache hits), and (3) it removes copies between kernel and user space. However, the Linux memory-mapped I/O path suffers from several scalability limitations. We show that the performance of Linux memory-mapped I/O does not scale beyond 8 threads on a 32-core server. To overcome these limitations, we propose FastMap, an alternative design for the memory-mapped I/O path in Linux that provides scalable access to fast storage devices in multi-core servers, by reducing synchronization overhead in the common path. FastMap also increases device queue depth, an important factor to achieve peak device throughput. Our experimental analysis shows that FastMap scales up to 80 cores and provides up to 11.8× more IOPS compared to mmap using null_blk. Additionally, it provides up to 5.27× higher throughput using an Optane SSD. We also show that FastMap is able to saturate state-of-the-art fast storage devices when used by a large number of cores, where Linux mmap fails to scale.
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 2b86c668-42d6-4d0f-9f3d-5bcb39df3360Cited by top-tier papers16
- Nomad: Non-Exclusive Memory Tiering via Transactional Page MigrationLingfeng Xiang, Zhen Lin, Weishu Deng, Hui Lu et al.OSDI 2024 · 59 citations
- FIFO queues are all you need for cache evictionJuncheng Yang, Yazhuo Zhang, Ziyue Qiu, Yao Yue et al.SOSP 2023 · 54 citations
- λ-IO: A Unified IO Stack for Computational StorageZhe Yang, Youyou Lu, Xiaojian Liao, Youmin Chen et al.FAST 2023 · 54 citations
- Virtual-Memory Assisted Buffer ManagementViktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck et al.SIGMOD 2023 · 37 citations
- TriCache: A User-Transparent Block Cache Enabling High-Performance Out-of-Core Processing with In-Memory ProgramsGuanyu Feng, Huanqi Cao, Xiaowei Zhu, Bowen Yu et al.OSDI 2022 · 18 citations
Builds on2
Related papers
- Libnvmmio: Reconstructing Software IO Path with Failure-Atomic Memory-Mapped InterfaceJungsik Choi, Jaewan Hong, Youngjin Kwon, Hwansoo HanUSENIX ATC 2020 · 36 citations
- Scalable Address Spaces using Concurrent Interval SkiplistTae Woo Kim, Youngjin Kwon, Jeehoon KangSOSP 2025
- DaxVM: Stressing the Limits of Memory as a File InterfaceChloe Alverti, Vasileios Karakostas, Nikhita Kunati, Georgios I. Goumas et al.MICRO 2022 · 9 citations
- BypassD: Enabling fast userspace access to shared SSDsSujay Yadalam, Chloe Alverti, Vasileios Karakostas, Jayneel Gandhi et al.ASPLOS 2024 · 5 citations
- ScaleCache: A Scalable Page Cache for Multiple Solid-State DrivesKiet Tuan Pham, Seokjoo Cho, Sangjin Lee, Lan Anh Nguyen et al.EuroSys 2024 · 10 citations
