Block I/O Scheduler Performance


The aim of the project is to characterise the performance of the different block I/O schedulers available in Linux 2.6, under various workloads. We're particularly interested in the interaction with RAID. The goal is to both improve performance in the general case, and to produce documentation and guidelines for choosing and tuning a scheduler for a particular workload.

The Schedulers

The I/O schedulers available in Linux 2.6 are:

There is a description of these in LinuxIOSchedulers

Additionally, we have implemented two new schedulers:


The tools we're using for performance testing include:


IOScheduling/MicroResults --- fio microbenchmarks
IOScheduling/Comparisons --- Selected comparisons of throughput and latency with the different schedulers

Aaron's honours thesis describing the work in detail is now up at


IOScheduling/Talks --- Talks about this work
IOScheduling/ToDo --- things that need to be done
IOScheduling/TestHardware --- Notes on the disk array we're using for testing
IOScheduling/Ideas --- Possibilities for future work

IA64wiki: IOScheduling (last edited 2009-12-10 03:14:07 by localhost)

Gelato@UNSW is sponsored by
the University of New South Wales National ICT Australia The Gelato Federation Hewlett-Packard Company Australian Research Council
Please contact us with any questions or comments.