From: Bill Huey (hui) <billh@gnuppy.monkey.org>
To: Chris Snook <csnook@redhat.com>
Cc: Chris Friesen <cfriesen@nortel.com>,
Tong Li <tong.n.li@intel.com>,
mingo@elte.hu, linux-kernel@vger.kernel.org,
Con Kolivas <kernel@kolivas.org>,
"Bill Huey (hui)" <billh@gnuppy.monkey.org>
Subject: Re: [RFC] scheduler: improve SMP fairness in CFS
Date: Tue, 24 Jul 2007 16:14:00 -0700 [thread overview]
Message-ID: <20070724231400.GA18307@gnuppy.monkey.org> (raw)
In-Reply-To: <46A66DA7.2020700@redhat.com>
On Tue, Jul 24, 2007 at 05:22:47PM -0400, Chris Snook wrote:
> Bill Huey (hui) wrote:
> Well, you need enough CPU time to meet your deadlines. You need
> pre-allocated memory, or to be able to guarantee that you can allocate
> memory fast enough to meet your deadlines. This principle extends to any
> other shared resource, such as disk or network. I'm being vague because
> it's open-ended. If a medical device fails to meet realtime guarantees
> because the battery fails, the patient's family isn't going to care how
> correct the software is. Realtime engineering is hard.
...
> Actually, it's worse than merely an open problem. A clairvoyant fair
> scheduler with perfect future knowledge can underperform a heuristic fair
> scheduler, because the heuristic scheduler can guess the future incorrectly
> resulting in unfair but higher-throughput behavior. This is a perfect
> example of why we only try to be as fair as is beneficial.
I'm glad we agree on the above points. :)
It might be that there needs to be another more stiff policy than what goes
into SCHED_OTHER in that we also need a SCHED_ISO or something has more
strict rebalancing semantics for -rt applications, sort be a super SCHED_RR.
That's definitely needed and I don't see how the current CFS implementation
can deal with this properly even with numerical running averages, etc...
at this time.
SCHED_FIFO is another issue, but this actually more complicated than just
per cpu run queues in that a global priority analysis. I don't see how
CFS can deal with SCHED_FIFO efficiently without moving to a single run
queue. This is kind of a complicated problem with a significant set of
trade off to take into account (cpu binding, etc..)
>> Tong's previous trio patch is an attempt at resolving this using a generic
>> grouping mechanism and some constructive discussion should come of it.
>
> Sure, but it seems to me to be largely orthogonal to this patch.
It's based on the same kinds of ideas that he's been experimenting with in
Trio. I can't name a single other engineer that's posted to lkml recently
that has quite the depth of experience in this area than him. It would be
nice to facilitted/incorporate some his ideas or get him to and work on
something to this end that's suitable for inclusion in some tree some where.
bill
next prev parent reply other threads:[~2007-07-24 23:14 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-23 18:38 [RFC] scheduler: improve SMP fairness in CFS Tong Li
2007-07-23 20:00 ` Andi Kleen
2007-07-23 21:10 ` Li, Tong N
2007-07-23 21:25 ` Chris Friesen
2007-07-24 9:43 ` Andi Kleen
2007-07-23 23:40 ` Chris Snook
2007-07-24 8:07 ` Chris Snook
2007-07-24 17:11 ` Li, Tong N
2007-07-24 17:07 ` Tong Li
2007-07-24 18:08 ` Chris Snook
2007-07-24 19:47 ` Chris Friesen
2007-07-24 20:39 ` Chris Snook
2007-07-24 20:58 ` Li, Tong N
2007-07-24 21:09 ` Chris Snook
2007-07-24 21:23 ` Chris Friesen
2007-07-24 21:45 ` Chris Snook
2007-07-24 23:33 ` Chris Friesen
2007-07-24 21:06 ` Bill Huey
2007-07-24 21:22 ` Chris Snook
2007-07-24 23:14 ` Bill Huey [this message]
2007-07-24 21:12 ` Chris Friesen
2007-07-25 11:01 ` Ingo Molnar
2007-07-25 12:03 ` Ingo Molnar
2007-07-25 17:23 ` Tong Li
2007-07-25 19:24 ` Ingo Molnar
2007-07-25 20:38 ` Chris Friesen
2007-07-25 20:55 ` Chris Snook
2007-07-25 21:15 ` Li, Tong N
2007-07-25 22:24 ` Chris Snook
2007-07-26 19:00 ` Tong Li
2007-07-26 21:31 ` Ingo Molnar
2007-07-26 22:00 ` Li, Tong N
2007-07-27 1:34 ` Tong Li
2007-07-27 17:16 ` Chris Snook
2007-07-27 19:03 ` Tong Li
2007-07-27 22:20 ` Bill Huey
2007-07-27 23:36 ` Chris Snook
2007-07-28 0:54 ` Bill Huey
2007-07-28 2:59 ` Chris Snook
2007-07-28 19:38 ` Tong Li
2007-07-29 2:40 ` Chris Snook
2007-07-28 19:23 ` Tong Li
2007-07-29 3:01 ` Chris Snook
2007-07-25 18:20 ` Li, Tong N
2007-07-25 19:18 ` Ingo Molnar
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=20070724231400.GA18307@gnuppy.monkey.org \
--to=billh@gnuppy.monkey.org \
--cc=cfriesen@nortel.com \
--cc=csnook@redhat.com \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tong.n.li@intel.com \
/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