Lazy Asynchronous I/O for Event-Driven Servers

In this paper , we introduce Lazy Asynchronous I/O (LAIO),a new API for performing I/O that is well-suited but not limited to the needs of high-performance, event-driven servers. In addition, we describe and evaluate an implementation of LAIO that demonstrably addresses certain critical limitations of the asynchronous and non-blocking I/O support in present Unix-like systems. LAIO is implemented entirely at user-level, without modification to the operating system’s kernel. It utilizes scheduler activations. Using a micro-benchmark, LAIO was shown to be more than 3 times faster than AIO when the data base was already available in memory. It also had a comparable performance to AIO when actual I/O needed to be made. An event driven web server (thttpd) archived more than 38% increase in its throughput using LAIO. The Flash web server’s throughput, originally archived with kernel modification, was matched using LAIO without making kernel modification.

Presented at:
Usenix 2004: USENIX Annual Technical Conference, Boston, MA, USA, June

 Record created 2005-08-16, last modified 2018-03-17

Download fulltext

Rate this document:

Rate this document:
(Not yet reviewed)