|
|
Asynchronous IO support in Linux 2.5
Asynchronous I/O (AIO), an important feature of Enterprise systems, overlaps application processing with I/O operations for improved utilization of CPU and devices and better
application performance especially under dynamic workloads.
This paper describes the AIO support that has
been integrated into the Linux 2.5 kernel, additional functionality available as patchsets, and plans for further improvements. More specifically, the following topics are treated in some depth:
(a) Implementation of:
- Asynchronous RAW I/O
- Asynchronous Direct I/O (O_DIRECT)
- Asynchronous Filesystem (buffered) I/O
- Asynchronous Vectored I/O (readv/writev)
(b) Relevant Performance Results
As of Linux 2.5, AIO falls into the common mainline path underlying all I/O operations, whether synchronous or asynchronous. The implications of this and other significant
ways in which the design for AIO in 2.5 differs from the patches that existed for 2.4 are explored as part of the discussion.
|
|