[ANNOUNCE] bfq disk I/O scheduler

Ric Wheeler rwheeler at redhat.com
Wed Aug 4 18:44:21 UTC 2010


On 08/04/2010 01:58 PM, Paolo Valente wrote:
> Hi,
> I have been working for a few years (with Fabio Checconi) on a disk
> scheduler providing definitely lower latencies than cfq, as well as a
> higher throughput with most of the test workloads we used (or the same
> throughput as cfq with the other workloads). We named this scheduler
> bfq (budget fair queueing). I hope this is the right list for announcing
> this work.
>
> One of the things we measured in our tests is the cold-cache execution
> time of a command as, e.g., "bash -c exit", "xterm /bin/true" or
> "konsole -e /bin/true", while the disk was also accessed by different
> combinations of sequential, or random, readers and/or
> writers. Depending on which of these background workloads was used,
> these execution times were five to nine times lower with bfq under
> 2.6.32. Under 2.6.35 they were instead from six to fourteen times
> lower. The highest price paid for these lower latencies was a 20% loss
> of aggregated disk throughput for konsole in case of background
> workloads made only of sequential requests (due to the fact that bfq
> of course privileges, more than cfq, the seeky IO needed to load
> konsole and its dependencies). In contrast, with shorter commands, as
> bash or xterm, bfq also provided up to 30% higher aggregated
> throughput.
>
> We saw from 15% to 30% higher aggregated throughput also in our
> only-aggregated-throughput tests. You can find in [1] all the details
> on our tests and on other nice features of bfq, such as the fact that
> it perfectly distributes the disk throughput as desired, independently
> of disk physical parameters like, e.g., ZBR. in [1] you can also find
> a detailed description of bfq and a short report on the maturity level
> of the code (TODO list), plus all the scripts used for the tests.
>
> The results I mentioned so far have been achieved with the last
> version of bfq, released about two months ago as patchsets for 2.6.33
> or 2.6.34. From a few days a patchset for 2.6.35 is available too, as
> well as a backport to 2.6.32. The latter has been prepared by Mauro
> Andreolini, who also helped me a lot with debugging. All these patches
> can be found here [2]. Mauro also built a binary kernel package for
> current lucid, and hosted it into a PPA, which can be found here [3].
>
> A few days after being released, this version of bfq has been
> introduced as the default disk scheduler in the Zen Kernel. It has
> been adopted as the default disk scheduler in Gentoo Linux too. I
> also recorded downloads from users with other distributions, as, e.g.,
> Ubuntu and ArchLinux. As of now we received only positive feedbacks
> from the users.
>
> Paolo
>
> [1] http://algo.ing.unimo.it/people/paolo/disk_sched/
> [2] http://algo.ing.unimo.it/people/paolo/disk_sched/sources.php
> [3] Ubuntu PPA: ppa:mauro-andreolini/ubuntu-kernel-bfq
>

Hi Paolo,

Have you tried to post this to the upstream developers of CFQ and IO schedulers?

Regards,

Ric



More information about the devel mailing list