UringCL: A Lightweight io_uring Convergence Layer for Adoption in Legacy Event Loops

Loading...
Thumbnail Image

Advisor

Martin, Karsten

Journal Title

Journal ISSN

Volume Title

Publisher

University of Waterloo

Abstract

High-performance network servers depend on efficient I/O mechanisms to manage thou- sands of concurrent connections with minimal latency and overhead. While traditional readiness-based interfaces (e.g., select, poll, epoll) notify applications when I/O oper- ations can proceed, they still require synchronous system-calls to execute the operations. This synchronous requirement causes frequent user–kernel transitions, which limits scala- bility under heavy load. In contrast, the io uring interface offers a fundamentally different approach by providing a completion-based I/O model that minimizes system-call overhead and enables true asynchronous data transfer. Although the performance benefits of io uring are well established in storage systems, its integration into high-throughput network applications remains limited. This thesis aims to bridge this integration gap by making the adoption of io uring accessible and provid- ing a structured vehicle for evaluating its performance in network-bound environments. To this end, the io uring Convergence Layer (UringCL) is presented to transparently map the synchronous I/O calls of readiness-driven applications onto asynchronous io uring operations. The UringCL simplifies initialization, event handling, and data transfer while preserving the existing control flow of legacy applications, allowing for incremental migra- tion toward completion-based I/O without major redesign. The UringCL architecture facilitates the practical integration of io uring into estab- lished network architectures and provides a consistent framework for measuring its impact on throughput, latency, and CPU efficiency. Experimental results demonstrate significant performance advantages over traditional models. In bulk-transfer workloads, the system delivers up to 40% higher throughput than epoll due to superior batching capabilities. In request-response scenarios involving Memcached, the integration achieves higher peak throughput and maintains significantly lower and more stable tail latency under heavy load. Furthermore, UringCL achieves these benefits with negligible overhead, proving that completion-based I/O can be adopted seamlessly to enhance the efficiency of modern net- work servers.

Description

Keywords

LC Subject Headings

Citation