Home Messages Index
[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index

[News] Explaining the Sophistication of the Linux Scheduler

  • Subject: [News] Explaining the Sophistication of the Linux Scheduler
  • From: Roy Schestowitz <newsgroups@xxxxxxxxxxxxxxx>
  • Date: Wed, 24 Oct 2007 10:49:33 +0100
  • Newsgroups: comp.os.linux.advocacy
  • Organization: Netscape / schestowitz.com
  • User-agent: KNode/0.10.4
Kernel space: Fair user scheduling for Linux

,----[ Quote ]
| The Completely Fair Scheduler (CFS) was merged for the 2.6.23 kernel. One CFS 
| feature which did not get in, though, was the group scheduling facility. 
| Group scheduling makes the CFS fairness algorithm operate in a hierarchical 
| fashion: processes are divided into groups, and, within each group, processes 
| are scheduled fairly against one another.     
`----

http://www.linuxworld.com/news/2007/101207-kernel.html

That's a /real/ multi-user desktop and server. Not a Solitaire/Minesweeper
foundation with some network addons, slapped in 'security' layer (cancel
allow), and added pseudo-multi-user support.


Related:

[Vista scheduler is broken]

,----[ Quote ]
| Critical optimizations such as zero-copy aside, there is no excusable reason 
| why processing IP packets should so damagingly affect the system.  
| 
| [...]
| 
| Putting aside the larger problem for the moment, there are several issues 
| with this solution. It prioritizes multimedia playback over networking 
| performance, which, as the resulting clamor has shown, is not everyone's 
| personal policy preference. It is almost assuredly a layering violation. It 
| picks a fixed and hard-coded packet limit (ten per millisecond), which won't 
| scale across different hardware—think significantly faster processors or 
| substantially slower networking drivers. It ignores the commonality of GigE. 
| And, finally, the solution is complicated, as the convoluted description and 
| resulting bugs in the implementation demonstrate.        
`----

http://blogbeebe.blogspot.com/2007/08/robert-love-backs-up-my-very-simple.html


CFS, Focusing on Simplification and Performance

,----[ Quote ]
| He added, "we are now a bit faster than the O(1) scheduler was under 
| v2.6.22 - even on 32-bit. The main speedup comes from the avoidance of 
| divisions (or shifts) in the wakeup and context-switch fastpaths."  
`----

http://kerneltrap.org/Linux/CFS_Focusing_on_Simplification_and_Performance


Defining Scheduler Task Groups

,----[ Quote ]
| Srivatsa requested that his patch be merged into Andrew Morton's -mm tree to 
| receive more testing...
`----

http://kerneltrap.org/Linux/Defining_Scheduler_Task_Groups


Linux: Discussing the Really Fair Scheduler

,----[ Quote ]
| Ingo Molnar reviewed Roman Zippel's Really Fair Scheduler code, suggesting 
| that much of the work was similar to that which was being done by Peter 
| Zijlstra  
`----

http://kerneltrap.org/Linux/Discussing_the_Really_Fair_Scheduler


Linux: The Really Fair Scheduler

,----[ Quote ]
| He offered a mathematical overview of how his new scheduler works, included 
| some benchmarks, and reflected back to earlier discussions on the lkml...
`---- 

http://kerneltrap.org/Linux/The_Really_Fair_Scheduler


Syllable Server Video Demonstration

,----[ Quote ]
| Turning our attention to the future, there's a demonstration video of 
| Syllable Server, the server companion to Syllable Desktop that is under 
| development and is being built on the Linux kernel [torrent, 91 MB AVI 
| video].   
`----

http://www.osnews.com/story.php/18470/Syllable-Server-Video-Demonstration/


Linux: The Original Process Scheduler

,----[ Quote ]
| In a June of 1992 posting to the linux-activists mailing list, Linus Torvalds 
| described the original Linux scheduler noting, "the scheduler in linux is 
| pretty simple, but does a reasonably good job at giving good IO response 
| while not being too unfair against cpu-bound processes."   
|
| [...]
|
|  *  1996-12-23  Modified by Dave Grothe to fix bugs in semaphores and
|  *              make semaphores SMP safe
|  *  1998-11-19  Implemented schedule_timeout() and related stuff
|  *              by Andrea Arcangeli
|  *  2002-01-04  New ultra-scalable O(1) scheduler by Ingo Molnar:
|  *              hybrid priority-list and round-robin design with
|  *              an array-switch method of distributing timeslices
|  *              and per-CPU runqueues.  Cleanups and useful suggestions
|  *              by Davide Libenzi, preemptible kernel bits by Robert Love.
|  *  2003-09-03  Interactivity tuning by Con Kolivas.
|  *  2004-04-02  Scheduler domains code by Nick Piggin
|  *  2007-04-15  Work begun on replacing all interactivity tuning with a
|  *              fair scheduling design by Con Kolivas.
|  *  2007-05-05  Load balancing (smp-nice) and other improvements
|  *              by Peter Williams
|  *  2007-05-06  Interactivity improvements to CFS by Mike Galbraith
|  *  2007-07-01  Group scheduling enhancements by Srivatsa Vaddagiri
`----

http://kerneltrap.org/node/14191


Linux: Tuning CFS

,----[ Quote ]
| Nick Piggin used 'git bisect' to track a lmbench regression to the main CFS 
| commit, leading to an interesting discussion between Nick and Ingo Molnar.  
`----

http://kerneltrap.org/node/14055


Linux: CFS and 3D Gaming

,----[ Quote ]
| Some of the concerns expressed about the Completely Fair Scheduler were 
| reports that it might not handle 3D games as well as the SD scheduler. 
`----

http://kerneltrap.org/node/14023


CFS scheduler to appear in Linux kernel 2.6.23

,----[ Quote ]
| And also credit where credit's due, Con Kolivas was the first one to 
| prove via RSDL/SD that 'fair scheduling' is possible and that it 
| results in better desktop scheduling.
`----

http://www.linuxinsight.com/cfs-scheduler-to-appear-in-linux-kernel-2.6.23.html


Linux: Linus On CFS vs SD

,----[ Quote ]
| "People who think SD was 'perfect' were simply ignoring reality," Linus 
| Torvalds began in a succinct explanation as to why he chose the CFS scheduler 
| written by Ingo Molnar instead of the SD scheduler written by Con Kolivas.  
`----

http://kerneltrap.org/node/14008

[Date Prev][Date Next][Thread Prev][Thread Next]
Author IndexDate IndexThread Index