Jump to content

Brain Fuck Scheduler: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m close brackets for disambiguator or similar link fix using AWB
Rescuing 2 sources and tagging 0 as dead. #IABot (v1.4.2)
Line 45: Line 45:
* [[NimbleX]] and [[Sabayon Linux]] 7<ref>{{cite web|url=http://ostatic.com/blog/sabayon-7-brings-linux-heaven |title=Sabayon 7 Brings Linux Heaven |publisher=Ostatic.com |date= |accessdate=2013-10-30}}</ref>
* [[NimbleX]] and [[Sabayon Linux]] 7<ref>{{cite web|url=http://ostatic.com/blog/sabayon-7-brings-linux-heaven |title=Sabayon 7 Brings Linux Heaven |publisher=Ostatic.com |date= |accessdate=2013-10-30}}</ref>
* [[PCLinuxOS]] 2010<ref>{{cite web|url=http://pclinuxos.com/?p=579 |title=2010 Edition is now available for download. |publisher=PCLinuxOS |date=2013-10-22 |accessdate=2013-10-30}}</ref>
* [[PCLinuxOS]] 2010<ref>{{cite web|url=http://pclinuxos.com/?p=579 |title=2010 Edition is now available for download. |publisher=PCLinuxOS |date=2013-10-22 |accessdate=2013-10-30}}</ref>
* [[Zenwalk]] 6.4<ref>{{cite web|url=http://www.zenwalk.org/modules/news/article.php?storyid=107 |title=Zenwalk 6.4 is ready ! - Releases - News |publisher=Zenwalk.org |date= |accessdate=2013-10-30}}</ref>
* [[Zenwalk]] 6.4<ref>{{cite web |url=http://www.zenwalk.org/modules/news/article.php?storyid=107 |title=Zenwalk 6.4 is ready ! - Releases - News |publisher=Zenwalk.org |date= |accessdate=2013-10-30 |deadurl=yes |archiveurl=https://web.archive.org/web/20131023055842/http://www.zenwalk.org/modules/news/article.php?storyid=107 |archivedate=2013-10-23 |df= }}</ref>


Additionally, BFS has been added to an experimental branch of [[Google]]'s [[Android (operating system)|Android]] development repository.<ref>[http://android.git.kernel.org/?p=kernel/experimental.git;a=shortlog;h=refs/heads/android-2.6.29-bfs] {{webarchive |url=https://web.archive.org/web/20090922234416/http://android.git.kernel.org/?p=kernel/experimental.git;a=shortlog;h=refs/heads/android-2.6.29-bfs |date=September 22, 2009 }}</ref> It was not included in the [[Android version history#Android 2.2–2.2.3 Froyo (API level 8)|Froyo release]] after [[blind testing]] did not show an improved user experience.<ref>{{cite web|url=https://lwn.net/Articles/389230/ |title=CyanogenMod 5 for the G1/ADP1 |publisher=Lwn.net |date= |accessdate=2013-10-30}}</ref>
Additionally, BFS has been added to an experimental branch of [[Google]]'s [[Android (operating system)|Android]] development repository.<ref>[http://android.git.kernel.org/?p=kernel/experimental.git;a=shortlog;h=refs/heads/android-2.6.29-bfs] {{webarchive|url=https://web.archive.org/web/20090922234416/http://android.git.kernel.org/?p=kernel%2Fexperimental.git%3Ba%3Dshortlog%3Bh%3Drefs%2Fheads%2Fandroid-2.6.29-bfs |date=September 22, 2009 |__FORMAT__={key}={value} }}</ref> It was not included in the [[Android version history#Android 2.2–2.2.3 Froyo (API level 8)|Froyo release]] after [[blind testing]] did not show an improved user experience.<ref>{{cite web|url=https://lwn.net/Articles/389230/ |title=CyanogenMod 5 for the G1/ADP1 |publisher=Lwn.net |date= |accessdate=2013-10-30}}</ref>


==See also==
==See also==

Revision as of 14:47, 24 July 2017

Brain Fuck Scheduler
Developer(s)Con Kolivas
Final release
0.512 / October 3, 2016; 8 years ago (2016-10-03)[1]
Written inC
Operating systemLinux
LicenseGNU GPL
Websitekernel.kolivas.org
The location of process schedulers in a simplified structure of the Linux kernel

The Brain Fuck Scheduler (BFS) is a process scheduler designed for the Linux kernel in August 2009 as an alternative to the Completely Fair Scheduler and the O(1) scheduler.[3] BFS was created by veteran kernel programmer Con Kolivas.[4]

The objective of BFS, compared to other schedulers, is to provide a scheduler with a simpler algorithm, that does not require adjustment of heuristics or tuning parameters to tailor performance to a specific type of computation workload. The BFS author asserted that these tunable parameters were difficult for the average user to understand, especially in terms of interactions of multiple parameters with each other, and claimed that the use of such tuning parameters could often result in improved performance in a specific targeted type of computation, at the cost of worse performance in the general case.[4] BFS has been reported to improve responsiveness on Linux desktop computers with fewer than 16 cores.[5]

Shortly following its introduction, the new scheduler made headlines within the Linux community, appearing on Slashdot, with reviews in Linux Magazine and Linux Pro Magazine.[3][6][7] Although there have been varied reviews of improved performance and responsiveness, Con Kolivas did not intend for BFS to be integrated into the mainline kernel.[4]

BFS has been retired in favour of MuQSS, a rewritten implementation of the same concept.[2]

Benchmarks

In a contemporary study,[5] the author compared the BFS to the CFS using the Linux kernel v3.6.2 and several performance-based endpoints. The purpose of this study was to evaluate the Completely Fair Scheduler (CFS) in the vanilla Linux kernel and the BFS in the corresponding kernel patched with the ck1 patchset. Seven different machines were used to see if differences exist and, to what degree they scale using performance based metrics. Number of logical CPUs ranged from 1 to 16. These end-points were never factors in the primary design goals of the BFS. The results were encouraging.

Kernels patched with the ck1 patch set including the BFS outperformed the vanilla kernel using the CFS at nearly all the performance-based benchmarks tested[citation needed]. Further study with a larger test set could be conducted, but based on the small test set of 7 PCs evaluated, these increases in process queuing, efficiency/speed are, on the whole, independent of CPU type (mono, dual, quad, hyperthreaded, etc.), CPU architecture (32-bit and 64-bit) and of CPU multiplicity (mono or dual socket).

Moreover, several "modern" CPUs, such as the Intel Core 2 Duo and Core i7, that represent common workstations and laptops, consistently outperformed the CFS in the vanilla kernel at all benchmarks. Efficiency and speed gains were small to moderate.

Adoption

BFS is the default scheduler for the following desktop Linux distributions:

Additionally, BFS has been added to an experimental branch of Google's Android development repository.[11] It was not included in the Froyo release after blind testing did not show an improved user experience.[12]

See also

References

  1. ^ "-ck hacking: BFS version 0.512, linux-4.8-ck1, MuQSS for linux-4.8". ck-hack.blogspot.com. 2016-10-03. Retrieved 2016-11-10.
  2. ^ a b "ck-hacking: linux-4.8-ck2, MuQSS version 0.114". ck-hack.blogspot.com. 2016-10-21. Retrieved 2016-11-10.
  3. ^ a b "Con Kolivas Introduces New BFS Scheduler » Linux Magazine". Linuxpromagazine.com. 2009-09-02. Retrieved 2013-10-30.
  4. ^ a b c "FAQs about BFS v0.330". Ck.kolivas.org. Retrieved 2013-10-30.
  5. ^ a b "CPU Schedulers Compared" (PDF). Repo-ck.com. Retrieved 2013-10-30.
  6. ^ "Con Kolivas Returns, With a Desktop-Oriented Linux Scheduler". Slashdot. Retrieved 2013-10-30.
  7. ^ "Ingo Molnar Tests New BF Scheduler". Linux Magazine. 2009-09-08. Retrieved 2013-10-30.
  8. ^ "Sabayon 7 Brings Linux Heaven". Ostatic.com. Retrieved 2013-10-30.
  9. ^ "2010 Edition is now available for download". PCLinuxOS. 2013-10-22. Retrieved 2013-10-30.
  10. ^ "Zenwalk 6.4 is ready ! - Releases - News". Zenwalk.org. Archived from the original on 2013-10-23. Retrieved 2013-10-30. {{cite web}}: Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  11. ^ [1] Archived September 22, 2009, at the Wayback Machine
  12. ^ "CyanogenMod 5 for the G1/ADP1". Lwn.net. Retrieved 2013-10-30.