1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

BFS Scheduler Benchmarks

Michael Larabel

Published on 14 September 2009
Written by Michael Larabel
Page 1 of 4 - 105 Comments

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.

The FAQ page for BFS describes this open-source scheduler as:

"BFS is the Brain Fuck Scheduler. It was designed to be forward looking only, make the most of lower spec machines, and not scale to massive hardware. Ie it is a desktop orientated scheduler, with extremely low latencies for excellent interactivity by design rather than "calculated", with rigid fairness, nice priority distribution and extreme scalability within normal load levels."

Additionally, Con goes on to note that its design is "ridiculously simple" and "throws out everything about what we know is good about how to design a modern scheduler in scalability", but unless you are running a system with many processing cores (16+ cores), the Brain Fuck Scheduler should be ideal. Con Kolivas has expressed no intentions of trying to get the BFS scheduler introduced into the mainline Linux kernel tree, so right now all patches need to be applied manually. In the BFS patches directory is BFS version 211 for the Linux 2.6.31 kernel.

While we are not kernel scheduler experts, for our testing we simply built a Linux 2.6.31 (final) kernel from source using a stock configuration with the 1000Hz timer, preempt enabled, and dynamic ticks disabled, per the BFS scheduler recommendations. When building the kernel one time we built it with the Brain Fuck Scheduler built-in and then again, we built the 2.6.31 kernel with the same configuration but without BFS and instead using the Completely Fair Scheduler. The Completely Fair Scheduler has been used in the Linux kernel since version 2.6.23 and was created by Ingo Molnar but Con Kolivas inspired its fair scheduling design.

We compared these two 64-bit kernels with the Brain Fuck Scheduler and then the Completely Fair Scheduler on an ASRock NetTop ION 330 system. This NVIDIA ION system has a dual-core Intel Atom 330 CPU with Hyper-Threading clocked at 2.10GHz, an ASRock AMCP7A-ION motherboard (NVIDIA MCP79 Chipset), and GeForce 9400M 512MB graphics. This lower-end hardware was tested since the only other large performance comparison of BFS comes from Ingo Molnar with his benchmarks and measurements where a sixteen-core system was used. Outside of our custom built kernels we were using an Ubuntu 9.10 daily snapshot from 2009-09-10 with the GNOME 2.27.91 desktop, X Server 1.6.3, NVIDIA 190.32 display driver, GCC 4.4.1, and an EXT4 file-system.

When running the Phoronix Test Suite on both kernels, we ran a number of different tests (particularly those that were multi-threaded) to look for performance differences between BFS and the Completely Fair Scheduler. In the end we ended up eliminating most of the tests that showed little difference between the two. The test results that we ended up going with for this article are from World of Padman, timed Apache compilation, timed PHP compilation, 7-Zip compression, GraphicsMagick, Apache, Threaded I/O Tester, and PostMark. On the following pages are our first BFS scheduler benchmarks from this Intel Atom system.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  2. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  3. AMD Radeon R9 285 Tonga Performance On Linux
  4. Apotop Wi-Copy
Latest Linux Articles
  1. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  2. MSI: Update Your BIOS From The Linux Desktop
  3. NVIDIA vs. AMD 2D Linux Drivers: Catalyst Is Getting Quite Good At 2D
  4. 15-Way GPU Comparison With Mesa 10.3 + Linux 3.17
Latest Linux News
  1. Emacs 24.4 Has Built-In Web Browser, Improved Multi-Monitor Support
  2. NVIDIA's NVPTX Support For GCC Is Close To Being Merged
  3. KDE's KWin On Wayland Begins Using Libinput
  4. Khronos Releases OpenVX 1.0 Specification
  5. Linux Kernel Working Towards GNU11/C11 Compatibility
  6. Ubuntu 15.04 Is Codenamed After A Monkey: Vivid Vervet
  7. Following GCC, Clang Looks To Default To C11
  8. Users/Developers Threatening Fork Of Debian GNU/Linux
  9. Linux 3.18-rc1 Released One Week Early With Many Changes
  10. The VC4 Gallium3D Driver Is Still Moving Along For The Raspberry Pi
Latest Forum Discussions
  1. Users/Developers Threatening Fork Of Debian GNU/Linux
  2. HOPE: The Ease Of Python With The Speed Of C++
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux
  5. AMD Is Restructuring Again, Losing 7% Of Employees
  6. Open-Source AMD Fusion E-350 Support Takes A Dive
  7. Upgrade to Kaveri, very slow VDPAU performance
  8. ChromeOS Drops Support For EXT2/EXT3/EXT4 File-Systems