Asynchronous I/O -- With Great Power Comes Great Responsibility
Constantin Pestka, Marcus Paradies, Matthias Pohl

TL;DR
This paper examines the challenges and complexities of adopting modern asynchronous I/O APIs like io_uring in storage systems, highlighting their potential benefits and barriers to widespread use.
Contribution
It provides an analysis of the complexities and trade-offs involved in integrating asynchronous I/O APIs into database applications, addressing adoption barriers.
Findings
Asynchronous I/O APIs can significantly improve storage performance.
Complexities in API usage hinder widespread adoption.
Architectural trade-offs impact integration of asynchronous I/O in databases.
Abstract
The performance of storage hardware has improved vastly recently, leaving the traditional I/O stack incapable of exploiting these gains due to increasingly large relative overheads. Newer asynchronous I/O APIs, such as io_uring, have significantly improved performance by reducing such overheads, but exhibit limited adoption in practice. In this paper, we discuss the complexities that the usage of these contemporary I/O APIs introduces to applications, which we believe are mostly responsible for their low adoption rate. Finally, we share implications and trade offs made by architectures that may be used to integrate asynchronous I/O into DB applications.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSemiconductor materials and devices
