Re: is RSDL an "unfair" scheduler too?

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Con Kolivas <kernel@...>
Cc: <ck@...>, Serge Belyshev <belyshev@...>, Al Boldi <a1426z@...>, Mike Galbraith <efault@...>, <linux-kernel@...>, Nicholas Miell <nmiell@...>, Linus Torvalds <torvalds@...>, Andrew Morton <akpm@...>
Date: Saturday, March 17, 2007 - 7:49 am

* Con Kolivas <kernel@kolivas.org> wrote:


RSDL still has heuristics very much, but this time it's hardcoded into 
the design! Let me demonstrate this via a simple experiment.

in the vanilla scheduler, the heuristics are ontop of a fairly basic 
(and fast) scheduler, they are plain visible and thus 'optional'. In 
RSDL, the heuristics are still present but more hidden and more 
engrained into the design.

But it's easy to demonstrate this under RSDL: consider the following two 
scenarios, which implement precisely the same fundamental computing 
workload (everything running on the same, default nice 0 level):

1) a single task runs almost all the time and sleeps about 1 msec every
   100 msecs.

   [ run "while N=1; do N=1; done &" under bash to create such a 
     workload. ]

2) tasks are in a 'ring' where each runs for 100 msec, sleeps for 1
   msec and passes the 'token' around to the next task in the ring. (in
   essence every task will sleep 9900 msecs before getting another run)

   [ run http://redhat.com/~mingo/scheduler-patches/ring-test.c to
     create this workload. If the 100 tasks default is too much for you 
     then you can run "./ring-test 10" - that will show similar effects. 
   ]

Workload #1 uses 100% of CPU time. Workload #2 uses 99% of CPU time. 
They both do in essence the same thing.

if RSDL had no heuristics at all then if i mixed #1 with #2, both 
workloads would get roughly 50%/50% of the CPU, right? (as happens if i 
mix #1 with #1 - both CPU-intense workloads get half of the CPU)

in reality, in the 'ring workload' case, RSDL will only give about _5%_ 
of CPU time to the #1 CPU-intense task, and will give 95% of CPU time to 
the #2 'ring' of tasks. So the distribution of timeslices is 
significantly unfair!

Why? Because RSDL still has heuristics, just elsewhere and more hidden: 
in the "straightforward CPU intense task" case RSDL will 'penalize' the 
task by depleting its quota for running nearly all the time, in the 
"ring of tasks" case the 100 tasks will each run near their priority 
maximum, fed by 'major epoch' events of RSDL, thus they get 'rewarded' 
for seemingly sleeping alot and spreading things out. So RSDL has 
fundamental unfairness built in as well - it's just different from the 
vanilla scheduler.

	Ingo
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
RSDL development plans, Con Kolivas, (Tue Mar 13, 7:08 pm)
Re: RSDL development plans, Con Kolivas, (Fri Mar 16, 8:25 am)
RSDL v0.31, Con Kolivas, (Fri Mar 16, 9:40 am)
Re: RSDL v0.31, Al Boldi, (Fri Mar 16, 5:55 pm)
Re: RSDL v0.31, Con Kolivas, (Fri Mar 16, 10:51 pm)
Re: RSDL v0.31, Al Boldi, (Sat Mar 17, 12:40 am)
Re: RSDL v0.31, Con Kolivas, (Sat Mar 17, 12:57 am)
Re: RSDL v0.31, Al Boldi, (Sat Mar 17, 12:12 pm)
Re: RSDL v0.31, Ed Tomlinson, (Sat Mar 17, 9:50 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 1:15 am)
Re: RSDL v0.31, AshMilsted, (Fri Mar 16, 1:12 pm)
Re: RSDL v0.31, Gabriel C, (Fri Mar 16, 1:41 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 16, 11:34 am)
Re: RSDL v0.31, Con Kolivas, (Fri Mar 16, 5:13 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 16, 6:30 pm)
Re: RSDL v0.31, Rik van Riel, (Sat Mar 17, 10:32 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 11:39 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 10:43 am)
Re: [ck] Re: RSDL v0.31, Dirk Schoebel, (Fri Mar 16, 7:05 pm)
Re: RSDL v0.31, Nicholas Miell, (Sat Mar 17, 12:24 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 1:56 am)
Re: RSDL v0.31, Nicholas Miell, (Sat Mar 17, 2:26 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 3:56 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Sat Mar 17, 7:07 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 8:44 am)
Re: RSDL v0.31, jos poortvliet, (Sat Mar 17, 9:44 am)
Re: [ck] Re: RSDL v0.31, Ed Tomlinson, (Sat Mar 17, 10:04 am)
Re: RSDL v0.31, Ingo Molnar, (Sat Mar 17, 3:45 am)
Re: RSDL v0.31, David Lang, (Sat Mar 17, 3:44 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 4:46 am)
Re: [ck] Re: RSDL v0.31, Mark Glines, (Sat Mar 17, 10:09 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 10:33 am)
Re: [ck] Re: RSDL v0.31, Mark Glines, (Sat Mar 17, 10:54 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 10:58 am)
Re: RSDL v0.31, Serge Belyshev, (Sat Mar 17, 4:41 am)
Re: RSDL v0.31, Con Kolivas, (Sat Mar 17, 5:48 am)
Re: RSDL v0.31, Mark Hahn, (Sat Mar 17, 11:13 am)
Re: RSDL v0.31, Chris Friesen, (Mon Mar 19, 11:06 am)
Re: RSDL v0.31, Stephen Clark, (Sat Mar 17, 1:22 pm)
Re: is RSDL an "unfair" scheduler too?, Ingo Molnar, (Sat Mar 17, 7:49 am)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sat Mar 17, 4:41 pm)
Re: is RSDL an "unfair" scheduler too?, William Lee Irwin III, (Sat Mar 17, 9:25 pm)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sun Mar 18, 1:00 am)
Re: is RSDL an "unfair" scheduler too?, Linus Torvalds, (Sat Mar 17, 9:32 pm)
Re: is RSDL an "unfair" scheduler too?, Willy Tarreau, (Sun Mar 18, 1:24 am)
Re: is RSDL an "unfair" scheduler too?, Mike Galbraith, (Sun Mar 18, 2:26 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, Radoslaw Szkodzinski, (Sun Mar 18, 2:54 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, Willy Tarreau, (Sun Mar 18, 3:58 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sun Mar 18, 4:45 am)
Re: is RSDL an "unfair" scheduler too?, Bill Huey, (Sun Mar 18, 2:09 am)
Re: is RSDL an "unfair" scheduler too?, Bill Davidsen, (Mon Mar 19, 5:14 pm)
Re: is RSDL an "unfair" scheduler too?, Mike Galbraith, (Sun Mar 18, 2:37 am)
Re: is RSDL an "unfair" scheduler too?, Bill Huey, (Sun Mar 18, 3:35 am)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Sun Mar 18, 1:55 am)
RE: is RSDL an "unfair" scheduler too?, David Schwartz, (Sun Mar 18, 10:27 pm)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Mon Mar 19, 11:25 am)
Re: is RSDL an "unfair" scheduler too?, Helge Hafting, (Mon Mar 19, 12:06 pm)
Re: is RSDL an "unfair" scheduler too?, Avi Kivity, (Mon Mar 19, 12:37 pm)
Re: is RSDL an "unfair" scheduler too?, Radoslaw Szkodzinski, (Mon Mar 19, 9:27 am)
Re: is RSDL an "unfair" scheduler too?, David Lang, (Mon Mar 19, 2:30 pm)
Re: is RSDL an "unfair" scheduler too?, Con Kolivas, (Sat Mar 17, 8:02 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, jos poortvliet, (Sat Mar 17, 8:23 am)
RE: [ck] Re: is RSDL an "unfair" scheduler too?, David Schwartz, (Sat Mar 17, 1:31 pm)
Re: is RSDL an "unfair" scheduler too?, Ingo Molnar, (Sat Mar 17, 8:28 am)
Re: is RSDL an "unfair" scheduler too?, Con Kolivas, (Sat Mar 17, 8:43 am)
Re: is RSDL an "unfair" scheduler too?, Bill Davidsen, (Sat Mar 17, 10:13 pm)
Re: is RSDL an "unfair" scheduler too?, Mike Galbraith, (Sun Mar 18, 1:37 am)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, jos poortvliet, (Sun Mar 18, 6:58 am)
Re: is RSDL an "unfair" scheduler too?, Kasper Sandberg, (Sat Mar 17, 11:20 pm)
Re: is RSDL an "unfair" scheduler too?, Ingo Molnar, (Sat Mar 17, 12:34 pm)
Re: is RSDL an "unfair" scheduler too?, Bill Davidsen, (Sat Mar 17, 11:23 pm)
Re: [ck] Re: is RSDL an "unfair" scheduler too?, jos poortvliet, (Sat Mar 17, 8:15 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 5:58 am)
Re: RSDL v0.31, Mark Lord, (Mon Mar 19, 12:03 pm)
Re: RSDL v0.31, Al Boldi, (Sat Mar 17, 4:55 pm)
Re: RSDL v0.31, Mark Lord, (Mon Mar 19, 12:07 pm)
Re: RSDL v0.31, Al Boldi, (Mon Mar 19, 4:53 pm)
Re: RSDL v0.31, Artur Skawina, (Tue Mar 20, 3:50 pm)
Re: RSDL v0.31, Al Boldi, (Wed Mar 21, 12:15 am)
Re: RSDL v0.31, Artur Skawina, (Wed Mar 21, 1:24 pm)
Re: RSDL v0.31, Xavier Bestel, (Mon Mar 19, 12:26 pm)
Re: RSDL v0.31, Mark Lord, (Mon Mar 19, 12:36 pm)
Re: RSDL v0.31, Xavier Bestel, (Mon Mar 19, 12:43 pm)
Re: RSDL v0.31, Linus Torvalds, (Mon Mar 19, 11:11 pm)
Re: RSDL v0.31, Mark Lord, (Tue Mar 20, 9:22 am)
Re: RSDL v0.31, Ray Lee, (Tue Mar 20, 11:16 am)
Re: RSDL v0.31, Kasper Sandberg, (Wed Mar 21, 4:55 am)
Re: RSDL v0.31, Mark Lord, (Tue Mar 20, 11:20 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Tue Mar 20, 6:26 am)
Re: RSDL v0.31, Willy Tarreau, (Tue Mar 20, 2:11 am)
Re: RSDL v0.31, Linus Torvalds, (Tue Mar 20, 11:31 am)
Re: RSDL v0.31, Bill Davidsen, (Wed Mar 28, 7:43 pm)
Re: RSDL v0.31, Keith Duthie, (Wed Mar 21, 4:22 am)
Re: RSDL v0.31, Al Boldi, (Tue Mar 20, 2:08 pm)
Re: RSDL v0.31, Xavier Bestel, (Tue Mar 20, 5:03 am)
Re: RSDL v0.31, Ingo Molnar, (Wed Mar 21, 3:50 am)
RE: RSDL v0.31, David Schwartz, (Wed Mar 21, 6:43 am)
Re: RSDL v0.31, Bill Davidsen, (Wed Mar 28, 7:37 pm)
RE: RSDL v0.31, David Schwartz, (Thu Mar 29, 3:10 am)
Re: RSDL v0.31, Nick Piggin, (Thu Mar 29, 3:34 am)
Re: RSDL v0.31, Artur Skawina, (Tue Mar 20, 8:31 am)
Re: RSDL v0.31, Artur Skawina, (Tue Mar 20, 3:16 pm)
Re: RSDL v0.31, Mike Galbraith, (Tue Mar 20, 4:03 am)
Re: RSDL v0.31, Mike Galbraith, (Wed Mar 21, 10:57 am)
Re: RSDL v0.31, Peter Zijlstra, (Wed Mar 21, 12:02 pm)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 3:07 am)
Re: RSDL v0.31, Con Kolivas, (Thu Mar 22, 6:50 pm)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 23, 12:39 am)
Re: RSDL v0.31, Con Kolivas, (Fri Mar 23, 1:59 am)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 23, 8:17 am)
Re: RSDL v0.31, Mike Galbraith, (Fri Mar 23, 2:11 am)
Re: RSDL v0.31, Ingo Molnar, (Thu Mar 22, 5:18 am)
Re: RSDL v0.31, Con Kolivas, (Thu Mar 22, 6:03 pm)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 5:34 am)
Re: RSDL v0.31, Mike Galbraith, (Thu Mar 22, 5:41 am)
Re: RSDL v0.31, Mike Galbraith, (Wed Mar 21, 1:06 pm)
Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 2:17 am)
Re: RSDL v0.31, Kasper Sandberg, (Sun Mar 18, 2:47 am)
Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 3:08 am)
Re: [ck] Re: RSDL v0.31, Radoslaw Szkodzinski, (Sun Mar 18, 3:22 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 3:38 am)
Re: [ck] Re: RSDL v0.31, Radoslaw Szkodzinski, (Sun Mar 18, 11:44 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Sun Mar 18, 12:09 pm)
Re: [ck] Re: RSDL v0.31, Kasper Sandberg, (Sun Mar 18, 5:57 am)
Re: [ck] Re: RSDL v0.31, Bill Davidsen, (Mon Mar 19, 4:47 pm)
Re: [ck] Re: RSDL v0.31, Kasper Sandberg, (Wed Mar 21, 4:58 am)
Re: [ck] Re: RSDL v0.31, jos poortvliet, (Tue Mar 20, 6:19 am)
Re: [ck] Re: RSDL v0.31, Avuton Olrich, (Sun Mar 18, 9:57 am)
Re: [ck] Re: RSDL v0.31, jimmy bahuleyan, (Sun Mar 18, 4:20 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 4:34 am)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 4:04 am)
Re: [ck] Re: RSDL v0.31, michael chang, (Sat Mar 17, 9:58 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 6:49 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 8:05 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 9:36 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 1:03 pm)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 1:37 pm)
Re: [ck] Re: RSDL v0.31, Kacper Wysocki, (Sat Mar 17, 2:23 pm)
Re: [ck] Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 2:45 pm)
Re: RSDL v0.31, Nicholas Miell, (Sat Mar 17, 4:23 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 3:11 am)
Re: RSDL v0.31, Gene Heskett, (Sat Mar 17, 7:48 am)
Re: RSDL v0.31, William Lee Irwin III, (Sat Mar 17, 3:25 am)
Re: RSDL v0.31, Nicholas Miell, (Sat Mar 17, 3:29 am)
Re: RSDL v0.31, Mike Galbraith, (Sat Mar 17, 2:08 am)
RE: RSDL v0.31, David Schwartz, (Sun Mar 18, 10:27 pm)
RE: RSDL v0.31, Mike Galbraith, (Mon Mar 19, 2:21 am)
Re: RSDL v0.31, Willy Tarreau, (Mon Mar 19, 2:59 am)
Re: RSDL v0.31, Lee Revell, (Sun Mar 18, 3:37 pm)
Re: RSDL v0.31, Szonyi Calin, (Sun Mar 18, 6:45 pm)
Re: RSDL v0.31, Mike Galbraith, (Sun Mar 18, 3:55 pm)
Re: RSDL v0.31, Ed Tomlinson, (Sat Mar 17, 9:56 am)
Re: RSDL development plans, Mike Galbraith, (Fri Mar 16, 9:42 am)
Re: RSDL development plans, Con Kolivas, (Fri Mar 16, 9:59 am)
Re: RSDL development plans, Mike Galbraith, (Fri Mar 16, 10:07 am)