Linux to gain “completely fair scheduler”
Jul 11, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — 5 viewsThe next release of the Linux kernel will apparently gain an all-new scheduler said to deliver better desktop scheduling. Ingo Molnar's CFS (“completely fair scheduler”) implements a fair scheduling approach long advocated by Con “Conman” Kolivas, a practicing Australian medical doctor specializing in anaesthesia.
Molnar, a Red Hat employee who maintains the kernel's scheduling subsystem, describes CFS as follows: “Eighty percent of CFS's design can be summed up in a single sentence: CFS basically models an 'ideal, precise multi-tasking CPU' on real hardware.”
Molnar adds, “I'd like to give credit to Con Kolivas for the general approach here: he has proven via RSDL/SD [Staircase-Deadline] that 'fair scheduling' is possible and that it results in better desktop scheduling. Kudos Con!”
Kolivas, meanwhile, will apparently discontinue his “ck” Linux mirror and cease to maintain his RSDL/SD scheduler. In a note to his mailing list, the longtime Linux benchmarking specialist wrote, “If whatever performance advantage it has is all but abolished compared to mainline then there is no point maintaining alternate patches.”
Kolivas is renowned for developing the “Contest” benchmark aimed at more realistically measuring Linux's responsiveness in the face of real-world (rather than only CPU) loads. In a 2002 KernelTrap interview, Kolivas reportedly commented, “The idea is that by [introducing various loads] for the duration of [a] kernel compile, [Contest] will increase the signal to noise ratio of the test and pick up slowdowns that we may momentarily notice when trying to do things on our machines. This was quite a departure from the 'throughput' approach to benchmarking, and appears to more realistically represent what happens in the real world.”
Although not trained at all in computer programming, Kolivas became interested in Linux scheduling during the 2.4.18 development cycle. Armed only with an inexpensive laptop, he used a simple text editor, patch, and diff to arguably change the course of Linux's development. Unfortunately, Kolivas now appears to be disenchanted with Linux kernel development. A March, 2007 post to the Linux Kernel Mailing List suggests that his SD scheduler was trialed in Andrew Morton's mm kernel mirror, but may have failed to gain wide understanding from other kernel hackers.
The CFS scheduler is expected to replace the 0(1) scheduler that Molnar previously authored, and which was merged prior to the 2.6 bernel release. So far, Molnar has committed about 100 CFS-related patches to the 2.6.22-git2 tree. One patches adds “credits” acknowledging significant contributions from others, including:
- Con Kolivas, for pioneering the fair-scheduling approach
- Peter Williams, for smpnice
- Mike Galbraith, for interactivity tuning of CFS
- Srivatsa Vaddagiri, for group scheduling enhancements
Additionally, Molnar prefaces his patch committing “cfs core code” with “Thanks to Andrew Morton and Thomas Gleixner for lots of detailed review feedback and for fixlets.”
The complete 2.6.22-git2 patchlog can be found here. The current version of Molnar's documentation file on CFS should be available here. KernelTrap's 2002 interview with Con Kolivas is archived here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.