zIO: Accelerating IO-Intensive Applications with Transparent Zero-Copy IO
Timothy Stamler, Deukyeon Hwang, Amanda Raybuck, Wei Zhang, Simon Peter
Abstract
We present zIO, a transparent zero-copy IO mechanism for unmodified IO-intensive applications. zIO tracks IO data through the application, eliminating copies that are unnecessary while maintaining data consistency.
Applications often modify only a part of the data they process. zIO leverages this insight and interposes on IO stack and standard library memory copy calls to track IO data and eliminate unnecessary copies. Instead, intermediate data locations are unmapped, allowing zIO to intercept and resolve any access via page faults to maintain data consistency. To avoid harming application performance in situations where data tracking overhead is high, zIO's tracking policy decides on a per IO basis when to eliminate copies. Further, we demonstrate how to use zIO to achieve optimistic network receiver persistence for applications storing data from the network in non-volatile memory (NVM). By mapping socket receive buffers in NVM and leveraging kernel-bypass IO, we can rely on zIO to transparently eliminate all copies from the network, through the application, to storage.
We implement zIO as a user-space library. On top of kernel IO stacks, zIO eliminates application-level IO copies. We also integrate zIO with kernel-bypass IO stacks, where it can additionally eliminate copies incurred by the IO stack APIs and enable optimistic network receiver persistence. We evaluate zIO with IO-intensive applications, such as Redis, Icecast, and MongoDB. zIO improves application throughput by up to 1.8× with Linux and by up to 2.5× with kernel-bypass IO stacks and optimistic network receiver persistence. Compared to common uses of zero-copy IO stack APIs, such as memory mapped files, zIO can improve performance by up to 17% due to reduced TLB shootdown overhead.
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 c0ae0f38-91cf-44cc-849e-824cc741aaa8Cited by top-tier papers6
- Bifrost: Analysis and Optimization of Network I/O Tax in Confidential Virtual MachinesDingji Li, Zeyu Mi, Chenhui Ji, Yifan Tan et al.USENIX ATC 2023 · 31 citations
- Cornflakes: Zero-Copy Serialization for Microsecond-Scale NetworkingDeepti Raghavan, Shreya Ravi, Gina Yuan, Pratiksha Thaker et al.SOSP 2023 · 18 citations
- Revitalizing the Forgotten On-Chip DMA to Expedite Data Movement in NVM-based Storage SystemsJingbo Su, Jiahao Li, Luofan Chen, Cheng Li et al.FAST 2023 · 14 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
- I/O in a Flash: Evolution of ONTAP to Low-Latency SSDsMatthew Curtis-Maury, Ram Kesavan, Bharadwaj V. R., Nikhil Mattankot et al.FAST 2024 · 3 citations
Builds on2
- Understanding host network stack overheadsQizhe Cai, Shubham Chaudhary, Midhul Vuppalapati, Jaehyun Hwang et al.SIGCOMM 2021 · 150 citations
- The Demikernel Datapath OS Architecture for Microsecond-scale Datacenter SystemsIrene Zhang, Amanda Raybuck, Pratyush Patel, Kirk Olynyk et al.SOSP 2021 · 83 citations
Related papers
- How to Copy Memory? Coordinated Asynchronous Copy as a First-Class OS ServiceJingkai He, Yunpeng Dong, Dong Du, Mo Zou et al.SOSP 2025 · 2 citations
- Libnvmmio: Reconstructing Software IO Path with Failure-Atomic Memory-Mapped InterfaceJungsik Choi, Jaewan Hong, Youngjin Kwon, Hwansoo HanUSENIX ATC 2020 · 36 citations
- Exploring the Asynchrony of Slow Memory Filesystem with EasyIOBohong Zhu, Youmin Chen, Jiwu ShuEuroSys 2024 · 4 citations
- IDIO: Network-Driven, Inbound Network Data Orchestration on Server ProcessorsMohammad Alian, Siddharth Agarwal, Jongmin Shin, Neel Patel et al.MICRO 2022 · 21 citations
- PAIO: General, Portable I/O Optimizations With Minor Application ModificationsRicardo Macedo, Yusuke Tanimura, Jason Haga, Vijay Chidambaram et al.FAST 2022
