usenix conference policies
Lazy Asynchronous I/O for Event-Driven Servers
We introduce Lazy Asynchronous I/O (LAIO), a new asynchronous I/O interface that is well suited to event-driven programming. LAIO is general in the sense that it applies to all blocking I/O operations. Furthermore, it is lazy in the sense that it creates a continuation only when an operation actually blocks, and it notifies the application only when a blocked operation completes in its entirety. These features make programming high-performance, event-driven servers using LAIO considerably easier than with previous interfaces.
We describe a user-level implementation of LAIO, relying only on kernel support for scheduler activations, a facility present in many Unix-like systems.
We compare the performance of web servers implemented using LAIO to the performance obtained with previous interfaces. For workloads with an appreciable amount of disk I/O, LAIO performs substantially better than the alternatives, because it avoids blocking entirely. In one such case, the peak throughput with LAIO is 24% higher than the next best alternative. For in-memory workloads it performs comparably.
author = {Khaled Elmeleegy and Anupam Chanda and Alan L. Cox and Willy Zwaenepoel},
title = {Lazy Asynchronous {I/O} for {Event-Driven} Servers},
booktitle = {2004 USENIX Annual Technical Conference (USENIX ATC 04)},
year = {2004},
address = {Boston, MA},
url = {https://www.usenix.org/conference/2004-usenix-annual-technical-conference/lazy-asynchronous-io-event-driven-servers},
publisher = {USENIX Association},
month = jun
}
connect with us