No announcement yet.

BFS Scheduler Benchmarks

  • Filter
  • Time
  • Show
Clear All
new posts

  • BFS Scheduler Benchmarks

    Phoronix: BFS Scheduler Benchmarks

    A few weeks back Con Kolivas returned to the Linux kernel scene after parting ways with kernel development for two years. Con, who has contributed a great deal to the Linux kernel in the past particularly with CPU schedulers, returned and introduced BFS. BFS (not to be confused with the file-system of the same name) is a new scheduler for the Linux kernel that's designed for optimal performance on hardware that's more common with a majority of Linux desktop users, not massive data centers running dozens (and in some cases, hundreds) of CPUs. The BFS scheduler is designed to offer "extremely low latencies for excellent interactivity", according to Con Kolivas. In this article we have a set of benchmarks comparing BFS and the current default scheduler within the Linux kernel, the Completely Fair Scheduler.

  • #2
    The Phoronix Test Suite automatically sets the number of make jobs for the compilation process to the number of logical CPU cores (in the case of the Intel Atom 330, the count is four) times two (thus a make jobs count of eight).
    you should have also a test where number of jobservers is equal to number of cores since its when bfs must bring most performance..

    quote from bfs faq
    make -j4 on a quad core machine with BFS
    is faster than *any* choice of job numbers on CFS


    • #3
      can someone make a benchmark that times how long it takes for a gtk button to respond to a click. then the same test but with N CPU eating processes running at the same time, so we can see what happens when N approaches the number of CPU cores.


      • #4
        Michael, thanks for the article.

        The figures are interesting, but I think that what concerns more Kolivas and many desktop users (among them, me) is the general responsiveness of the system.

        I would merrily swap some % of pure performance for a greater responsiveness.

        I'm asking: are those benchmarks you ran a good gauge for this?
        It's not an ironic question, I'm really wondering, not being an expert in that field
        Netrunner Linux - Rolling Release ; Nexus 5 ROM Chroma 5.1 ; NAS 6TB on FreeNAS


        • #5
          Try benchmarking 3D game with some process like Amarok running in the background - fps amount is twice lower with BFS (and if game shows more then 30FPS game still isn't smooth). It would be nice to see tests with Fair_sleepers turned off, because it helps on some configurations, but it seems it makes things even worse on some others.
          Last edited by kraftman; 09-14-2009, 06:29 AM.


          • #6
            If you read LKML discussion of BFS, it seems that Ingo has fixed a couple of interactivity issues with CFS. One problem really seems to be the fair_sleepers, so for now Ingo turned it off. I'm not sure which branch of the kernel that was though


            • #7
              Don't we really want to measure the input latency of the different schedulers and compare this aspect of them?

              The methodology could be inspired by this article. Console Gaming: The Lag Factor -

              All we need is a mouse or keyboard that blinks when pressed (maybe binding fire to Caps Lock). A camera capable of recording video in 60 FPS, and a CRT monitor.

              The process seems pretty simple, just count the frames between pushing fire and the action on screen, then multiply the counted number of frames with 16,67 milliseconds (1/60), which gives total input lag in milliseconds, or am I missing something?
              Last edited by Solitary; 09-14-2009, 09:31 AM. Reason: Double post, one post deleted, typos.


              • #8
                I'm also wondering how "important" these benchmarks are.
                For me as a user I want the following from the scheduler:

                1. No sound or video hick up when doing something in the background (even heavy disk load)

                2. Good overall system responsiveness even with heavy load in the background

                If my kernel compilation (the heavy load in the background) takes some seconds longer - I don't care.



                • #9
                  Nice post, but it would have been nice to see BFS compared to say deadline (and maybe Anticipatory). I've been using deadline for ages and it has been quite good to me (sounds like possibly a similair design to BFS, too), and I wonder how close in performance it is to BFS. But thanks for letting me know about BFS; might be useful (just want to know if there is much difference from deadline to BFS though).



                  • #10

                    Originally posted by mibo View Post
                    I'm also wondering how "important" these benchmarks are.

                    Yes, those results are very interesting, but little strange same time . Ubuntu (with bfs) vs OS X benchmark would look fine, but the question is if it would be a fair and meaningful comparison (scheduler maybe is "cheating" etc. ).

                    With fair_sleepers disabled CFS is faster here in apache test


                    If you read LKML discussion of BFS, it seems that Ingo has fixed a couple of interactivity issues with CFS. One problem really seems to be the fair_sleepers, so for now Ingo turned it off. I'm not sure which branch of the kernel that was though
                    AFAIK Ingo made request to disable fair_sleepers for .32.
                    Last edited by kraftman; 09-14-2009, 08:54 AM.