Rawread Microbenchmark
Bill Hartner bhartner@us.ibm.com
Steven Pratt slpratt@us.ibm.com
IBM Linux Technology Center
May 30 2003

This microbenchmark can be used to measure the performance and scalability of the block io layer in Linux.  The microbenchmark performs a sequential read or readv test and supports multiple processes that can read from both raw devices and scsi devices.  The O_DIRECT flag is supported for scsi devices.

We use it to compare :

        * rawio mapped to scsi devices and direct io to scsi device
        * readv writev

The microbenchmark has been enhanced to supports async io, file io, write and writev, and random io.

Here is a readme.

Here is the old microbenchmark source (v 1.0.3)
gcc -O2 -D_GNU_SOURCE -o rawread rawread.c


Here is an interim source (v 1.1.1)
libaio is now required to build rawread.  It can be obtained from
http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/

Here is the current source (v 2.1.11)
libaio is now required to build rawread.  It can be obtained from
http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/

gcc -O2 -D_GNU_SOURCE -o -lpthread -laio rawread rawread.c