Skip to main content

I/O scheduling on RAID


Aaron Carroll

NICTA, Sydney, Australia
UNSW, Australia


The storage world is facing a crisis: while the quantity and cost of storage is improving exponentially, the speed of accessing stored data is not. Two traditional approaches to solving this problem are bigger and smarter hardware (like RAID), and intelligent ways of using existing resources (such as I/O scheduling). The aim of this thesis is to investigate how to marry these two techniques.

In the context of the Linux kernel, we benchmark ten I/O schedulers on a range of RAID configurations and workloads to determine which techniques are applicable to host-based I/O scheduling on hardware RAID devices. We also implement two new schedulers for Linux, and solve several performance issues in the existing ones.

Our results show that I/O scheduling can generally improve performance using the techniques that have been employed for many years. We show that Linux's deadline scheduler generally performs best, and describe some optimisations to improve performance for the other schedulers.

BibTeX Entry

    author           = {Aaron Carroll},
    month            = jul,
    year             = {2008},
    title            = {{I/O} Scheduling on {RAID}},
    address          = {Sydney, Australia},
    keywords         = {RAID, I/O},
    school           = {School of Electrical Engineering}