AIO performance

From: Suparna Bhattacharya
Date: Fri Mar 17 2006 - 08:25:44 EST

Hello Kenny,

In browsing lkml archives today I came across your query about
AIO performance and conclusions from our 2003 paper. I am sorry, I
missed your post at that time (it may be a good idea to cc
linux-aio@xxxxxxxxx on AIO related queries in addition to lkml).

The results in the 2003 paper were based on a specific microbenchmark,
but (as mentioned later in the conclusion) it couldn't capture the
impact of well designed AIO usage which can actually improve the overall
efficiency of an application. In my own experience later, and following
further performance tuning of AIO, I found the case of streaming
random AIO reads and writes to be the most interesting, as it can provide
throughput gains while simplifying the coordination model. This is the
pattern seen under some database workloads.

There is in fact a more recent reference you could look at, which is
a follow-on paper at OLS 2004 on Linux 2.6 AIO Performance and Robustness,
where we published some real application performance numbers as well
as microbenchmark results for streaming AIO reads/writes using aio-stress
(instead of rawiobench). You may find that interesting. AIO resulted in
close to 10% performance gain for our database benchmark run, but more
significantly as we observed, a single page cleaner thread using AIO was
able to drive around 40% more writes than 55 page cleaner threads without AIO.

I hope that helps.


Suparna Bhattacharya (suparna@xxxxxxxxxx)
Linux Technology Center
IBM Software Lab, India

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at