Publication | Closed Access
Lazy asynchronous I/O for event-driven servers
36
Citations
8
References
2004
Year
Unknown Venue
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 Unixlike 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 inmemory workloads it performs comparably. 1
| Year | Citations | |
|---|---|---|
Page 1
Page 1