From: "Radoslaw Szkodzinski" <astralstorm@gmail.com>
To: davids@webmaster.com
Cc: "Linux-Kernel@Vger. Kernel. Org" <linux-kernel@vger.kernel.org>
Subject: Re: is RSDL an "unfair" scheduler too?
Date: Mon, 19 Mar 2007 14:27:21 +0100 [thread overview]
Message-ID: <f44c5fdf0703190627x43427f26qaed948aed71847ad@mail.gmail.com> (raw)
In-Reply-To: <MDEHLPKNGKAHNMBLJOLKGEMBCFAC.davids@webmaster.com>
On 3/19/07, David Schwartz <davids@webmaster.com> wrote:
>
> > I didn't suggest adding any unfairness! I suggested being fair by
> > user/job/process instead of being fair by thread (which is actually
> > unfair as it favors multi threaded processes over single threaded
> > processes).
>
> Wouldn't that be unfair because it favors multi-user approaches over
> single-user approaches with the same number of processes?
Not necessarily. Use GID rotations too.
And if you can't assign these properly, it's your own/your distro's fault.
> Consider two otherwise equivalent web server designs. They both use a helper
> process owned by the user who owns the file the web server is sending. One
> does a lot of work in the helper process, the other does very little. A
> "fair by user" scheduler would give the approach that puts more work in the
> helper process more CPU than the one that puts little work in the helper
> process.
Indeed, it's a drawback. Though a configurable one.
> Being fair by user builds lots of assumptions into the scheduler. When
> they're not true, the scheduler becomes sub-optimal. For example, consider a
> web server that runs two very important tools, 'foo' and 'bar'. Rather than
> running them as root, they run as users 'foo' and 'bar' for security. "Fair
> to user" would mean that just because most other people are using 'foo', I
> get less CPU when I try to use 'foo', because the OS doesn't know the "real
> user", just the fake user who owns the process -- a security decision that
> has no relationship to fairness. This would be handled perfectly by a "fair
> to process" approach.
Then, use a group quota. But checking that will be slower, and that
overhead might kill other gains.
> As for favoring multi-threaded processes over single-threaded processes,
> sometimes that's what you want.
Not on desktop.
Typical multi-threaded workloads:
- apache
- some P2P clients
- some audio servers/applications (small number of threads)
Single-threaded is much more popular.
> Consider two servers,
^ ^ ^
Well, aren't we discussing desktops?
Server admins can fine-tune the rights and CPU quotas per group.
> one using thread per
> job the other using process per job. Does it make sense to give the "process
> per job" server as much CPU to do a single task as the "thread per job"
> server gets for all the clients it's dealing with?
Not necessarily. You see, the processes themselves are schedulable,
the threads aren't.
>
> It's really more important that the scheduler be tunable and predictable.
This kind of scheduler, yes. Except it's much more tunable than a
simple fair or unfair scheduler, and much more suited to real-time
applications.
> That way, we can tell it what we want and get it. But the scheduler cannot
> read our minds.
That's why the per-user or per-group part would have to be optional.
It just doesn't make much sense on single-user desktops.
Then, RSDL design or even RSDL+bonus could be used.
The bonus part would have to be really simple, e.g. priority
inheritance for pipes, startup priority boost for nice 0 tasks.
(warning - fork bombs. :P )
No sleep estimator. Maybe these would suffice?
The interactive bonus would be disabled by default, same as
per-user/per-group scheduling.
Some syscalls would have to be added, maybe using LSM framework?
next prev parent reply other threads:[~2007-03-19 13:27 UTC|newest]
Thread overview: 197+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-04 20:35 [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler Al Boldi
2007-03-04 21:49 ` Con Kolivas
[not found] ` <45EB45F7.3050208@simon.arlott.org.uk>
2007-03-04 22:27 ` Con Kolivas
2007-03-05 18:29 ` Simon Arlott
2007-03-05 21:36 ` Con Kolivas
2007-03-04 23:13 ` Willy Tarreau
2007-03-04 23:58 ` Con Kolivas
2007-03-05 0:10 ` [ck] " jos poortvliet
2007-03-05 1:09 ` Gene Heskett
[not found] ` <200703050834.45712.a1426z@gawab.com>
[not found] ` <20070305060732.GQ30401@nysv.org>
2007-03-05 11:59 ` [ck] " Al Boldi
2007-03-05 12:29 ` Con Kolivas
[not found] ` <200703052123.01095.a1426z@gawab.com>
2007-03-05 22:10 ` Con Kolivas
2007-03-06 8:42 ` Xavier Bestel
2007-03-06 15:15 ` Al Boldi
2007-03-11 18:11 ` Al Boldi
2007-03-11 21:52 ` Con Kolivas
2007-03-11 22:12 ` Con Kolivas
2007-03-12 4:42 ` Al Boldi
2007-03-12 4:53 ` Con Kolivas
2007-03-12 11:26 ` Al Boldi
2007-03-12 12:52 ` Con Kolivas
2007-03-12 14:14 ` Al Boldi
2007-03-12 14:58 ` [ck] " jos poortvliet
2007-03-12 16:37 ` michael chang
2007-03-12 17:41 ` Al Boldi
2007-03-12 18:05 ` Con Kolivas
2007-03-12 18:47 ` [ck] " jos poortvliet
2007-03-12 18:58 ` Antonio Vargas
2007-03-19 10:47 ` Helge Hafting
2007-03-18 1:30 ` Bill Davidsen
2007-03-18 10:50 ` [ck] " jos poortvliet
2007-03-13 15:31 ` [PATCH] [RSDL-0.30] sched: rsdl improve latencies with differential nice Con Kolivas
2007-03-13 16:03 ` [PATCH] [RSDL-0.30] sched: rsdl improve latencies with differential nice -1 Con Kolivas
2007-03-13 16:08 ` Con Kolivas
2007-03-13 20:58 ` Con Kolivas
2007-03-13 23:08 ` RSDL development plans Con Kolivas
2007-03-16 12:25 ` Con Kolivas
2007-03-16 13:40 ` RSDL v0.31 Con Kolivas
2007-03-16 15:34 ` Mike Galbraith
2007-03-16 21:13 ` Con Kolivas
2007-03-16 22:30 ` Mike Galbraith
2007-03-16 23:05 ` [ck] " Dirk Schoebel
2007-03-17 4:24 ` Nicholas Miell
2007-03-17 5:56 ` Mike Galbraith
2007-03-17 6:08 ` Mike Galbraith
2007-03-17 13:56 ` Ed Tomlinson
2007-03-18 19:37 ` Lee Revell
2007-03-18 19:55 ` Mike Galbraith
2007-03-18 22:45 ` Szonyi Calin
2007-03-19 2:27 ` David Schwartz
2007-03-19 6:21 ` Mike Galbraith
2007-03-19 6:59 ` Willy Tarreau
2007-03-17 6:26 ` Nicholas Miell
2007-03-17 7:11 ` Mike Galbraith
2007-03-17 7:25 ` William Lee Irwin III
2007-03-17 7:29 ` Nicholas Miell
2007-03-17 11:48 ` Gene Heskett
2007-03-17 7:45 ` Ingo Molnar
2007-03-17 7:44 ` David Lang
2007-03-17 8:46 ` Mike Galbraith
2007-03-17 14:09 ` [ck] " Mark Glines
2007-03-17 14:33 ` Mike Galbraith
2007-03-17 14:54 ` Mark Glines
2007-03-17 14:58 ` Mike Galbraith
2007-03-17 8:23 ` Nicholas Miell
2007-03-17 9:42 ` [patch] CFS scheduler: Completely Fair Scheduler / CONFIG_SCHED_FAIR Ingo Molnar
2007-03-17 8:41 ` RSDL v0.31 Serge Belyshev
2007-03-17 9:48 ` Con Kolivas
2007-03-17 9:58 ` Mike Galbraith
2007-03-17 10:49 ` Mike Galbraith
2007-03-17 12:05 ` Gene Heskett
2007-03-17 13:36 ` Mike Galbraith
2007-03-17 17:03 ` Gene Heskett
2007-03-17 17:37 ` Mike Galbraith
2007-03-17 18:23 ` [ck] " Kacper Wysocki
2007-03-17 18:45 ` Mike Galbraith
2007-03-17 13:58 ` michael chang
2007-03-17 20:55 ` Al Boldi
2007-03-18 6:17 ` Mike Galbraith
2007-03-18 6:47 ` Kasper Sandberg
2007-03-18 7:08 ` Mike Galbraith
2007-03-18 7:22 ` [ck] " Radoslaw Szkodzinski
2007-03-18 7:38 ` Mike Galbraith
2007-03-18 8:04 ` Mike Galbraith
2007-03-18 8:20 ` jimmy bahuleyan
2007-03-18 8:34 ` Mike Galbraith
2007-03-18 9:57 ` Kasper Sandberg
2007-03-18 13:57 ` Avuton Olrich
2007-03-19 20:47 ` Bill Davidsen
2007-03-20 10:19 ` jos poortvliet
2007-03-21 8:58 ` Kasper Sandberg
2007-03-18 15:44 ` Radoslaw Szkodzinski
2007-03-18 16:09 ` jos poortvliet
2007-03-19 16:07 ` Mark Lord
2007-03-19 16:26 ` Xavier Bestel
2007-03-19 16:36 ` Mark Lord
2007-03-19 16:43 ` Xavier Bestel
2007-03-20 3:11 ` Linus Torvalds
2007-03-20 6:11 ` Willy Tarreau
2007-03-20 8:03 ` Mike Galbraith
2007-03-21 14:57 ` Mike Galbraith
2007-03-21 16:02 ` Peter Zijlstra
2007-03-21 17:06 ` Mike Galbraith
2007-03-22 7:07 ` Mike Galbraith
2007-03-22 9:18 ` Ingo Molnar
2007-03-22 9:34 ` Mike Galbraith
2007-03-22 9:41 ` Mike Galbraith
2007-03-22 22:03 ` Con Kolivas
2007-03-22 22:50 ` Con Kolivas
2007-03-23 4:39 ` Mike Galbraith
2007-03-23 5:59 ` Con Kolivas
2007-03-23 6:11 ` Mike Galbraith
2007-03-23 12:17 ` Mike Galbraith
[not found] ` <20070321161147.54c7a727@localhost>
2007-03-21 17:07 ` Mike Galbraith
2007-03-22 4:49 ` Willy Tarreau
2007-03-22 7:14 ` Mike Galbraith
2007-03-20 9:03 ` Xavier Bestel
2007-03-20 12:31 ` Artur Skawina
2007-03-20 19:16 ` Artur Skawina
2007-03-21 7:50 ` Ingo Molnar
2007-03-21 10:43 ` David Schwartz
2007-03-28 23:37 ` Bill Davidsen
2007-03-29 7:10 ` David Schwartz
2007-03-29 7:34 ` Nick Piggin
2007-03-20 15:31 ` Linus Torvalds
2007-03-20 18:08 ` Al Boldi
2007-03-21 8:22 ` Keith Duthie
2007-03-28 23:43 ` Bill Davidsen
2007-03-20 10:26 ` [ck] " jos poortvliet
2007-03-20 13:22 ` Mark Lord
2007-03-20 15:16 ` Ray Lee
2007-03-20 15:20 ` Mark Lord
2007-03-21 8:55 ` Kasper Sandberg
2007-03-19 20:53 ` Al Boldi
2007-03-20 19:50 ` Artur Skawina
2007-03-21 4:15 ` Al Boldi
2007-03-21 17:24 ` Artur Skawina
2007-03-19 16:03 ` Mark Lord
2007-03-17 11:49 ` is RSDL an "unfair" scheduler too? Ingo Molnar
2007-03-17 12:02 ` Con Kolivas
2007-03-17 12:23 ` [ck] " jos poortvliet
2007-03-17 17:31 ` David Schwartz
2007-03-17 12:28 ` Ingo Molnar
2007-03-17 12:43 ` Con Kolivas
2007-03-17 16:34 ` Ingo Molnar
2007-03-18 3:23 ` Bill Davidsen
2007-03-18 2:13 ` Bill Davidsen
2007-03-18 3:20 ` Kasper Sandberg
2007-03-18 5:37 ` Mike Galbraith
2007-03-18 10:58 ` [ck] " jos poortvliet
2007-03-17 12:15 ` jos poortvliet
2007-03-17 20:41 ` Avi Kivity
2007-03-18 1:25 ` William Lee Irwin III
2007-03-18 1:32 ` Linus Torvalds
2007-03-18 5:24 ` Willy Tarreau
2007-03-18 5:55 ` Avi Kivity
2007-03-19 2:27 ` David Schwartz
2007-03-19 13:27 ` Radoslaw Szkodzinski [this message]
2007-03-19 18:30 ` David Lang
2007-03-19 15:25 ` Avi Kivity
2007-03-19 16:06 ` Helge Hafting
2007-03-19 16:37 ` Avi Kivity
2007-03-18 6:09 ` Bill Huey
2007-03-18 6:37 ` Mike Galbraith
2007-03-18 7:35 ` Bill Huey
2007-03-19 21:14 ` Bill Davidsen
2007-03-18 6:26 ` Mike Galbraith
2007-03-18 6:54 ` [ck] " Radoslaw Szkodzinski
2007-03-18 7:58 ` Willy Tarreau
2007-03-18 8:45 ` Avi Kivity
2007-03-18 5:00 ` Avi Kivity
2007-03-17 15:13 ` RSDL v0.31 Mark Hahn
2007-03-17 17:22 ` Stephen Clark
2007-03-19 15:06 ` Chris Friesen
2007-03-17 7:56 ` Ingo Molnar
2007-03-17 11:07 ` [ck] " jos poortvliet
2007-03-17 12:44 ` Ingo Molnar
2007-03-17 13:44 ` jos poortvliet
2007-03-17 14:04 ` [ck] " Ed Tomlinson
2007-03-17 14:32 ` Rik van Riel
2007-03-17 14:43 ` Mike Galbraith
2007-03-17 15:39 ` Ingo Molnar
2007-03-16 17:12 ` AshMilsted
2007-03-16 17:41 ` Gabriel C
2007-03-16 21:55 ` Al Boldi
2007-03-17 2:51 ` Con Kolivas
2007-03-17 4:40 ` Al Boldi
2007-03-17 4:57 ` Con Kolivas
2007-03-17 5:15 ` Gene Heskett
2007-03-17 13:50 ` Ed Tomlinson
2007-03-17 16:12 ` Al Boldi
2007-03-16 13:42 ` RSDL development plans Mike Galbraith
2007-03-16 13:59 ` Con Kolivas
2007-03-16 14:07 ` Mike Galbraith
2007-03-14 9:13 ` [PATCH] [RSDL-0.30] sched: rsdl improve latencies with differential nice Mike Galbraith
2007-03-14 9:25 ` Con Kolivas
2007-03-14 9:42 ` Mike Galbraith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f44c5fdf0703190627x43427f26qaed948aed71847ad@mail.gmail.com \
--to=astralstorm@gmail.com \
--cc=davids@webmaster.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®