From: William Lee Irwin III <wli@holomorphy.com>
To: "Li, Tong N" <tong.n.li@intel.com>
Cc: Willy Tarreau <w@1wt.eu>, Ingo Molnar <mingo@elte.hu>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Nick Piggin <npiggin@suse.de>,
Juliusz Chroboczek <jch@pps.jussieu.fr>,
Con Kolivas <kernel@kolivas.org>, ck list <ck@vds.kolivas.org>,
Bill Davidsen <davidsen@tmr.com>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Mike Galbraith <efault@gmx.de>,
Arjan van de Ven <arjan@infradead.org>,
Peter Williams <pwil3058@bigpond.net.au>,
Thomas Gleixner <tglx@linutronix.de>,
caglar@pardus.org.tr, Gene Heskett <gene.heskett@gmail.com>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>,
"Barnes, Jesse" <jesse.barnes@intel.com>
Subject: Re: [REPORT] cfs-v4 vs sd-0.44
Date: Thu, 26 Apr 2007 16:26:41 -0700 [thread overview]
Message-ID: <20070426232641.GJ19966@holomorphy.com> (raw)
In-Reply-To: <1177610268.3360.35.camel@tongli.jf.intel.com>
On Wed, Apr 25, 2007 at 04:58:40AM -0700, William Lee Irwin III wrote:
>>> Adjustments to the lag computation for for arrivals and departures
>>> during execution are among the missing pieces. Some algorithmic devices
>>> are also needed to account for the varying growth rates of lags of tasks
>>> waiting to run, which arise from differing priorities/weights.
On Wed, 2007-04-25 at 22:13 +0200, Willy Tarreau wrote:
>> that was the principle of my proposal of sorting tasks by expected completion
>> time and using +/- credit to compensate for too large/too short slice used.
On Thu, Apr 26, 2007 at 10:57:48AM -0700, Li, Tong N wrote:
> Yeah, it's a good algorithm. It's a variant of earliest deadline first
> (EDF). There are also similar ones in the literature such as earliest
> eligible virtual deadline first (EEVDF) and biased virtual finishing
> time (BVFT). Based on wli's explanation, I think Ingo's approach would
> also fall into this category. With careful design, all such algorithms
> that order tasks based on some notion of time can achieve good fairness.
> There are some subtle differences. Some algorithms of this type can
> achieve a constant lag bound, but some only have a constant positive lag
> bound, but O(N) negative lag bound, meaning some tasks could receive
> much more CPU time than it would under ideal fairness when the number of
> tasks is high.
The algorithm is in a bit of flux, but the virtual deadline computation
is rather readable. You may be able to tell whether cfs is affected by
the negative lag issue better than I. For the most part all I can smoke
out is that it's not apparent to me whether load balancing is done the
way it needs to be.
On Thu, Apr 26, 2007 at 10:57:48AM -0700, Li, Tong N wrote:
> On the other hand, the log(N) complexity of this type of algorithms has
> been a concern in the research community. This motivated O(1)
> round-robin based algorithms such as deficit round-robin (DRR) and
> smoothed round-robin (SRR) in networking, and virtual-time round-robin
> (VTRR), group ratio round-robin (GP3) and grouped distributed queues
> (GDQ) in OS scheduling, as well as the distributed weighted round-robin
> (DWRR) one I posted earlier.
I'm going to make a bold statement: I don't think O(lg(n)) is bad at
all. In real systems there are constraints related to per-task memory
footprints that severely restrict the domain of the performance metric,
rendering O(lg(n)) bounded by a rather reasonable constant.
A larger concern to me is whether this affair actually achieves its
design goals and, to a lesser extent, in what contexts those design
goals are truly crucial or dominant as opposed to others, such as,
say, interactivity. It is clear, regardless of general applicability,
that the predictability of behavior with regard to strict fairness
is going to be useful in certain contexts.
Another concern which is in favor of the virtual deadline design is
that virtual deadlines can very effectively emulate a broad spectrum
of algorithms. For instance, the mainline "O(1) scheduler" can be
emulated using such a queueing mechanism. Even if the particular
policy cfs now implemented is dumped, radically different policies
can be expressed with its queueing mechanism. This has maintainence
implications which are quite beneficial. That said, it's far from
an unqualified endorsement. I'd still like to see much done differently.
-- wli
next prev parent reply other threads:[~2007-04-26 23:27 UTC|newest]
Thread overview: 147+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-20 14:04 [patch] CFS scheduler, v4 Ingo Molnar
2007-04-20 21:37 ` Gene Heskett
2007-04-21 20:47 ` S.Çağlar Onur
2007-04-22 1:22 ` Gene Heskett
2007-04-20 21:39 ` mdew .
2007-04-21 6:47 ` Ingo Molnar
2007-04-21 7:55 ` [patch] CFS scheduler, v4, for v2.6.20.7 Ingo Molnar
2007-04-21 12:12 ` [REPORT] cfs-v4 vs sd-0.44 Willy Tarreau
2007-04-21 12:40 ` Con Kolivas
2007-04-21 13:02 ` Willy Tarreau
2007-04-21 15:46 ` Ingo Molnar
2007-04-21 16:18 ` Willy Tarreau
2007-04-21 16:34 ` Linus Torvalds
2007-04-21 16:42 ` William Lee Irwin III
2007-04-21 18:55 ` Kyle Moffett
2007-04-21 19:49 ` Ulrich Drepper
2007-04-21 23:17 ` William Lee Irwin III
2007-04-21 23:35 ` Linus Torvalds
2007-04-22 1:46 ` Ulrich Drepper
2007-04-22 7:02 ` William Lee Irwin III
2007-04-22 7:17 ` Ulrich Drepper
2007-04-22 8:48 ` William Lee Irwin III
2007-04-22 16:16 ` Ulrich Drepper
2007-04-23 0:07 ` Rusty Russell
2007-04-21 16:53 ` Willy Tarreau
2007-04-21 16:53 ` Ingo Molnar
2007-04-21 16:57 ` Willy Tarreau
2007-04-21 18:09 ` Ulrich Drepper
2007-04-21 17:03 ` Geert Bosch
2007-04-21 15:55 ` Con Kolivas
2007-04-21 16:00 ` Ingo Molnar
2007-04-21 16:12 ` Willy Tarreau
2007-04-21 16:39 ` William Lee Irwin III
2007-04-21 17:15 ` Jan Engelhardt
2007-04-21 19:00 ` Ingo Molnar
2007-04-22 13:18 ` Mark Lord
2007-04-22 13:27 ` Ingo Molnar
2007-04-22 13:30 ` Mark Lord
2007-04-25 8:16 ` Pavel Machek
2007-04-25 8:22 ` Ingo Molnar
2007-04-25 10:19 ` Alan Cox
2007-04-21 22:54 ` Denis Vlasenko
2007-04-22 0:08 ` Con Kolivas
2007-04-22 4:58 ` Mike Galbraith
2007-04-21 23:59 ` Con Kolivas
2007-04-22 13:04 ` Juliusz Chroboczek
2007-04-22 23:24 ` Linus Torvalds
2007-04-23 1:34 ` Nick Piggin
2007-04-23 15:56 ` Linus Torvalds
2007-04-23 19:11 ` Ingo Molnar
2007-04-23 19:52 ` Linus Torvalds
2007-04-23 20:33 ` Ingo Molnar
2007-04-23 20:44 ` Ingo Molnar
2007-04-23 21:03 ` Ingo Molnar
2007-04-23 21:53 ` Guillaume Chazarain
2007-04-24 7:04 ` Rogan Dawes
2007-04-24 7:31 ` Ingo Molnar
2007-04-24 8:25 ` Rogan Dawes
2007-04-24 15:03 ` Chris Friesen
2007-04-24 15:07 ` Rogan Dawes
2007-04-24 15:15 ` Chris Friesen
2007-04-24 23:55 ` Peter Williams
2007-04-25 9:29 ` Ingo Molnar
2007-04-23 22:48 ` Jeremy Fitzhardinge
2007-04-24 0:59 ` Li, Tong N
2007-04-24 1:57 ` Bill Huey
2007-04-24 18:01 ` Li, Tong N
2007-04-24 21:27 ` William Lee Irwin III
2007-04-24 22:18 ` Bernd Eckenfels
2007-04-25 1:22 ` Li, Tong N
2007-04-25 6:05 ` William Lee Irwin III
2007-04-25 9:44 ` Ingo Molnar
2007-04-25 11:58 ` William Lee Irwin III
2007-04-25 20:13 ` Willy Tarreau
2007-04-26 17:57 ` Li, Tong N
2007-04-26 19:18 ` Willy Tarreau
2007-04-28 15:12 ` Bernd Eckenfels
2007-04-26 23:26 ` William Lee Irwin III [this message]
2007-04-24 3:46 ` Peter Williams
2007-04-24 4:52 ` Arjan van de Ven
2007-04-24 6:21 ` Peter Williams
2007-04-24 6:36 ` Ingo Molnar
2007-04-24 7:00 ` Gene Heskett
2007-04-24 7:08 ` Ingo Molnar
2007-04-24 6:45 ` David Lang
2007-04-24 7:24 ` Ingo Molnar
2007-04-24 14:38 ` Gene Heskett
2007-04-24 17:44 ` Willy Tarreau
2007-04-25 0:30 ` Gene Heskett
2007-04-25 0:32 ` Gene Heskett
2007-04-24 7:12 ` Gene Heskett
2007-04-24 7:14 ` Ingo Molnar
2007-04-24 14:36 ` Gene Heskett
2007-04-24 7:25 ` Ingo Molnar
2007-04-24 14:39 ` Gene Heskett
2007-04-24 14:42 ` Gene Heskett
2007-04-24 7:33 ` Ingo Molnar
2007-04-26 0:51 ` SD renice recommendation was: " Con Kolivas
2007-04-24 15:08 ` Ray Lee
2007-04-25 9:32 ` Ingo Molnar
2007-04-23 20:05 ` Willy Tarreau
2007-04-24 21:05 ` 'Scheduler Economy' prototype patch for CFS Ingo Molnar
2007-04-23 2:42 ` [report] renicing X, cfs-v5 vs sd-0.46 Ingo Molnar
2007-04-23 15:09 ` Linus Torvalds
2007-04-23 17:19 ` Gene Heskett
2007-04-23 17:19 ` Gene Heskett
2007-04-23 19:48 ` Ingo Molnar
2007-04-23 20:56 ` Michael K. Edwards
2007-04-22 13:23 ` [REPORT] cfs-v4 vs sd-0.44 Mark Lord
2007-04-21 18:17 ` Gene Heskett
2007-04-22 1:26 ` Con Kolivas
2007-04-22 2:07 ` Gene Heskett
2007-04-22 8:07 ` William Lee Irwin III
2007-04-22 11:11 ` Gene Heskett
2007-04-22 1:51 ` Con Kolivas
2007-04-21 20:35 ` [patch] CFS scheduler, v4 S.Çağlar Onur
2007-04-22 8:30 ` Michael Gerdau
2007-04-23 22:47 ` Ingo Molnar
2007-04-23 1:12 ` [patch] CFS scheduler, -v5 Ingo Molnar
2007-04-23 1:25 ` Nick Piggin
2007-04-23 2:39 ` Gene Heskett
2007-04-23 3:08 ` Ingo Molnar
2007-04-23 2:55 ` Ingo Molnar
2007-04-23 3:22 ` Nick Piggin
2007-04-23 3:43 ` Ingo Molnar
2007-04-23 4:06 ` Nick Piggin
2007-04-23 7:10 ` Ingo Molnar
2007-04-23 7:25 ` Nick Piggin
2007-04-23 7:35 ` Ingo Molnar
2007-04-23 9:25 ` Ingo Molnar
2007-04-23 3:19 ` [patch] CFS scheduler, -v5 (build problem - make headers_check fails) Zach Carter
2007-04-23 10:03 ` Ingo Molnar
2007-04-23 5:16 ` [patch] CFS scheduler, -v5 Markus Trippelsdorf
2007-04-23 5:27 ` Markus Trippelsdorf
2007-04-23 6:21 ` Ingo Molnar
2007-04-25 11:43 ` Srivatsa Vaddagiri
2007-04-25 12:51 ` Ingo Molnar
2007-04-23 12:20 ` Guillaume Chazarain
2007-04-23 12:36 ` Ingo Molnar
2007-04-24 16:54 ` Christian Hesse
2007-04-25 9:25 ` Ingo Molnar
2007-04-25 10:51 ` Christian Hesse
2007-04-25 10:56 ` Ingo Molnar
2007-04-23 9:28 ` crash with CFS v4 and qemu/kvm (was: [patch] CFS scheduler, v4) Christian Hesse
2007-04-23 10:18 ` Ingo Molnar
2007-04-24 10:54 ` Christian Hesse
-- strict thread matches above, loose matches on Subject: below --
2007-04-22 4:38 [REPORT] cfs-v4 vs sd-0.44 Al Boldi
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=20070426232641.GJ19966@holomorphy.com \
--to=wli@holomorphy.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=caglar@pardus.org.tr \
--cc=ck@vds.kolivas.org \
--cc=davidsen@tmr.com \
--cc=efault@gmx.de \
--cc=gene.heskett@gmail.com \
--cc=jch@pps.jussieu.fr \
--cc=jeremy@goop.org \
--cc=jesse.barnes@intel.com \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=pwil3058@bigpond.net.au \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
--cc=tong.n.li@intel.com \
--cc=torvalds@linux-foundation.org \
--cc=w@1wt.eu \
/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