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

dc.contributor.authorAfsharian, Armin
dc.date.accessioned2026-01-16T19:45:27Z
dc.date.available2026-01-16T19:45:27Z
dc.date.issued2026-01-16
dc.date.submitted2026-01-09
dc.description.abstractHigh-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.
dc.identifier.urihttps://hdl.handle.net/10012/22836
dc.language.isoen
dc.pendingfalse
dc.publisherUniversity of Waterlooen
dc.titleUringCL: A Lightweight io_uring Convergence Layer for Adoption in Legacy Event Loops
dc.typeMaster Thesis
uws-etd.degreeMaster of Mathematics
uws-etd.degree.departmentDavid R. Cheriton School of Computer Science
uws-etd.degree.disciplineComputer Science
uws-etd.degree.grantorUniversity of Waterlooen
uws-etd.embargo.terms0
uws.contributor.advisorMartin, Karsten
uws.contributor.affiliation1Faculty of Mathematics
uws.peerReviewStatusUnrevieweden
uws.published.cityWaterlooen
uws.published.countryCanadaen
uws.published.provinceOntarioen
uws.scholarLevelGraduateen
uws.typeOfResourceTexten

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Afsharian_Armin.pdf
Size:
1.43 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
6.4 KB
Format:
Item-specific license agreed upon to submission
Description: