Ingo Molnar Tests New BF Scheduler

Sep 08, 2009

Kernel developer Ingo Molnar has done a benchmark test to compare his Completely Fair Scheduler (CFS) with the recently released BFS from Australian Con Kolivas.

Ingo Molnar wasn't quite ready to accept criticism of the performance of his scheduler currently in the kernel compared to the BFS version and put them both to a benchmark test. In his posting he admits that BFS is still in its early stages, but finds Kolivas's code fascinating: "BFS is an interesting and bold new approach, cutting a _lot_ of code out of kernel/sched*.c, so it raised my curiosity and interest."

Because Kolivas set the limit to 16 CPUs, Molnar put BFS on a system with dual quad core and hyperthreading. The result is that he couldn't see "any BFS performance improvements, on this box." In fact, he claimed that BFS failed in comparison in almost all cases, including kernel build, pipe, messaging and OLTP performance. "In the kbuild test BFS is showing significant weaknesses up to 16 CPUs. On 8 CPUs utilized (half load) it's 27.6% slower."

The CFS developer nonetheless had a few positive things to say about BFS: "General interactivity of BFS seemed good to me -- except for the pipe test when there was significant lag over a minute. I think it's some starvation bug, not an inherent design property of BFS, so I'm looking forward to retest it with the fix." He encouraged others to repeat his tests.

Molnar's posting is comprehensive in his test description, listing the links to his tests and providing detailed results. Beside the passion for scheduler development, he finds a few more things in common with the Australian, as he said to him: "I'd like to outline that I agree with the general goals described by you in the BFS announcement -- small desktop systems matter more than large systems." He therefore bade Kolivas to work together with him, ending with, "we'll also be following BFS for good ideas and code to adopt to mainline."

The Hungarian developer working for Red Hat programmed the Completely Fair Scheduler currently used in the Linux kernel. Kolivas had recently broken a two-year Linux hiatus to develop BFS in response to what he felt was CFS's inability to fully utilize the CPU.

Related content


  • great post

    Thanks a lot for sharing the article on cash. That's a awesome article. I enjoyed the article a lot while reading. Thanks for sharing such a wonderful article.I want to say very thank you for this great informations. now i understand about it. Thank you !
  • Re: Re: Reality

    Yes the kernel should scale, and it does.

    People running that many cores can, and should, configure their own kernel to squeeze the last 0.5% of throughput out of their systems.

    But as a default, BFS is tuned for a much more reasonable number of cores.
  • Re: reality

    "does Linux on 4096 CPUs with CFS care anymore?"

    The reality is that the kernel must scale. The scheduler must scale, just like everything else.

    If it only works well in one specific situation, then it's not an improvement. If there is a way to "swap schedulers" for specific applications, that might be an improvement.

    I think we need to judge the benefits of the code, not disparage the developers.
  • proves?

    "Molnar syntetic benchmarks just proves that he doesn't care about Linux on UP or small SMP as used in netbooks, laptops, phones or embedded devices."

    Nobody needs any proof. Nobody's hiding it.

    Molnar is employee of RedHat which openly and blatantly ignores pretty much everything except servers.
  • Re: The Linux reality is...

    So, your way of countering a reasonable way of testing the schedulers, ie. it can be reproduced by others, is to claim it is wrong with nothing to back it up but your feelings about some part?

    This is a flame bait posting looking for a fight, if there ever was one.

    I have no opinion about the relative performance of either schedulers, but flame war isn't the way to get better schedulers, or anything else technical for that matter.

    If you have any description of a test that can be reproduced by someone else, then please put it forward. The rest is a waste of time.
  • The Linux reality is...

    that this article is plain wrong, Molnar syntetic benchmarks just proves that he doesn't care about Linux on UP or small SMP as used in netbooks, laptops, phones or embedded devices. It seems the number of phones with Linux will outplace other type of Linux deployments (desktpos).

    For example popular firmware OpenWRT shows significant better network performance with BFS, very popular Cyanogen custom Android firmware (which rocks my G1!) gains massive performance with BFS too.

    My Atom N260 netbook feels much better with BFS.

    Don't want to start a flamewar but, really, does Linux on 4096 CPUs with CFS care anymore?
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More