17

What are the advantages of bfs over cfs and are there any benchmarks to see if there are any real performance gains?

1 Answer 1

16

There is an excellent PDF document here, which explains in detail the differences. It also does several tests that show in graphs how both behave under certain conditions.

Here is a small document from the creator of BFS: http://ck.kolivas.org/patches/bfs/bfs-faq.txt about why he created this scheduler.

But the main differences are:

BFS is better for interactive tasks that block on I/O or user input
BFS is generally a bit faster but a bit more inconsistent
BFS in low latency apps will show a big improvement over CFS (Like video apps)
BFS has much less "spikes" in cpu usage

CFS is generally more consistent for a consistent performance
CFS is better for batch processing that is CPU bound
CFS in multi cpu intensive tasks + multiple tasks will have better performance than BFS
CFS has more spikes than BFS but it works to be more fair between tasks

For the normal user, BFS might give a "better" performance but it will give less performance if you do a lot of batch process.

3
  • 1
    So in summary... "probably"? The BFS scheduler is probably better for desktop computing?
    – Scaine
    Jan 9, 2011 at 10:05
  • 1
    Well, as the linked pdf says : "it is dicult to provide a single CPU scheduler that performs well in all platforms and use cases."
    – Maxime R.
    Jan 9, 2011 at 16:01
  • 1
    Like Maxime said. At least the most common usages must be studied further and tested a lot to determined the best suited scheduler. For the time being the work for this to come is under way. Jan 9, 2011 at 18:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .