By: Jeff Johnston
IO Scheduling Improvements
Thanks to a new IO scheduler in Linux Kernel 2.6 it is possible to achieve speed increases on standard desktop style workloads of up to 1000% according to Andrew Morton of Open Source Development Labs (OSDL). The speed increase is thanks to the wait-before-seek function of the anticipatory scheduler that is one of two IO scheduling policies in kernel 2.6. The two scheduling systems were benchmarked against each other on a variety of diffent builds and systems by OSDL and you can see the results here.
Anticipatory Scheduler (AS)
The Anticipatory Scheduler attempts to anticipate future read requests from processes. Linus Torvalds, original creator of Linux, told me "Basically, the anticipatory scheduler maintains some per-process statistics to try to guess whether there will be another dependent read 'soon'" and if the algorithm guesses that there will be another read access it will wait before returning to process the next request. This significantly decreases the back and forth seeking under some loads. The wait-before-seek enables one process to perform several similar reads in rapid succession without having to send the drive head back and forth repeatedly. It is using the AS that Morton experienced 1000% speed increases.
Deadline Scheduler
This 1000% speed increase is only on standard desktop type work loads, but there is a way to get increased performance for database servers and high disk performance systems. As mentioned earlier the anticipatory scheduler is just one …