From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Erich Focht <efocht@hpce.nec.com>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>,
Ingo Molnar <mingo@elte.hu>, Andi Kleen <ak@suse.de>,
"Nakajima, Jun" <jun.nakajima@intel.com>,
Rick Lindsley <ricklind@us.ibm.com>,
linux-kernel@vger.kernel.org, akpm@osdl.org, kernel@kolivas.org,
rusty@rustcorp.com.au, anton@samba.org,
lse-tech@lists.sourceforge.net
Subject: Re: [Lse-tech] [patch] sched-domain cleanups, sched-2.6.5-rc2-mm2-A3
Date: Tue, 30 Mar 2004 19:05:15 +1000 [thread overview]
Message-ID: <4069384B.9070108@yahoo.com.au> (raw)
In-Reply-To: <200403300030.25734.efocht@hpce.nec.com>
(please use piggin@yahoo.com.au)
Erich Focht wrote:
>On Thursday 25 March 2004 23:28, Martin J. Bligh wrote:
>
>>Can we hold off on changing the fork/exec time balancing until we've
>>come to a plan as to what should actually be done with it? Unless we're
>>giving it some hint from userspace, it's frigging hard to be sure if
>>it's going to exec or not - and the vast majority of things do.
>>
>
>After more than a year (or two?) of discussions there's no better idea
>yet than giving a userspace hint. Default should be to balance at
>exec(), and maybe use a syscall for saying: balance all children a
>particular process is going to fork/clone at creation time. Everybody
>reached the insight that we can't foresee what's optimal, so there is
>only one solution: control the behavior. Give the user a tool to
>improve the performance. Just a small inheritable variable in the task
>structure is enough. Whether you give the hint at or before run-time
>or even at compile-time is not really the point...
>
>I don't think it's worth to wait and hope that somebody shows up with
>a magic algorithm which balances every kind of job optimally.
>
>
I'm with Martin here, we are just about to merge all this
sched-domains stuff. So we should at least wait until after
that. And of course, *nothing* gets changed without at least
one benchmark that shows it improves something. So far
nobody has come up to the plate with that.
>>There was a really good reason why the code is currently set up that
>>way, it's not some random accident ;-)
>>
>
>The current code isn't a result of a big optimization effort, it's the
>result of stripping stuff down to something which was acceptable at
>all in the 2.6 feature freeze phase such that we get at least _some_
>NUMA scheduler infrastructure. It was clear right from the beginning
>that it has to be extended to really become useful.
>
>
>>Clone is a much more interesting case, though at the time, I consciously
>>decided NOT to do that, as we really mostly want threads on the same
>>node.
>>
>
>That is not true in the case of HPC applications. And if someone uses
>OpenMP he is just doing that kind of stuff. I consider STREAM a good
>benchmark because it shows exactly the problem of HPC applications:
>they need a lot of memory bandwidth, they don't run in cache and the
>tasks live really long. Spreading those tasks across the nodes gives
>me more bandwidth per task and I accumulate the positive effect
>because the tasks run for hours or days. It's a simple and clear case
>where the scheduler should be improved.
>
>Benchmarks simulating "user work" like SPECsdet, kernel compile, AIM7
>are not relevant for HPC. In a compute center it actually doesn't
>matter much whether some shell command returns 10% faster, it just
>shouldn't disturb my super simulation code for which I bought an
>expensive NUMA box.
>
>
There are other things, like java, ervers, etc that use threads.
The point is that we have never had this before, and nobody
(until now) has been asking for it. And there are as yet no
convincing benchmarks that even show best case improvements. And
it could very easily have some bad cases. And finally, HPC
applications are the very ones that should be using CPU
affinities because they are usually tuned quite tightly to the
specific architecture.
Let's just make sure we don't change defaults without any
reason...
next prev parent reply other threads:[~2004-03-30 9:05 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-25 15:31 [Lse-tech] [patch] sched-domain cleanups, sched-2.6.5-rc2-mm2-A3 Nakajima, Jun
2004-03-25 15:40 ` Andi Kleen
2004-03-25 19:09 ` Ingo Molnar
2004-03-25 15:21 ` Andi Kleen
2004-03-25 19:39 ` Ingo Molnar
2004-03-25 20:30 ` Ingo Molnar
2004-03-29 8:45 ` Andi Kleen
2004-03-29 10:20 ` Rick Lindsley
2004-03-29 5:07 ` Andi Kleen
2004-03-29 11:28 ` Nick Piggin
2004-03-29 17:30 ` Rick Lindsley
2004-03-30 0:01 ` Nick Piggin
2004-03-30 1:26 ` Rick Lindsley
2004-03-29 11:20 ` Nick Piggin
2004-03-29 6:01 ` Andi Kleen
2004-03-29 11:46 ` Ingo Molnar
2004-03-29 7:03 ` Andi Kleen
2004-03-29 7:10 ` Andi Kleen
2004-03-29 20:14 ` Andi Kleen
2004-03-29 23:51 ` Nick Piggin
2004-03-30 6:34 ` Andi Kleen
2004-03-30 6:40 ` Ingo Molnar
2004-03-30 7:07 ` Andi Kleen
2004-03-30 7:14 ` Nick Piggin
2004-03-30 7:45 ` Ingo Molnar
2004-03-30 7:58 ` Nick Piggin
2004-03-30 7:15 ` Ingo Molnar
2004-03-30 7:18 ` Nick Piggin
2004-03-30 7:48 ` Andi Kleen
2004-03-30 8:18 ` Ingo Molnar
2004-03-30 9:36 ` Andi Kleen
2004-03-30 7:42 ` Ingo Molnar
2004-03-30 7:03 ` Nick Piggin
2004-03-30 7:13 ` Andi Kleen
2004-03-30 7:24 ` Nick Piggin
2004-03-30 7:38 ` Arjan van de Ven
2004-03-30 7:13 ` Martin J. Bligh
2004-03-30 7:31 ` Nick Piggin
2004-03-30 7:38 ` Martin J. Bligh
2004-03-30 8:05 ` Ingo Molnar
2004-03-30 8:19 ` Nick Piggin
2004-03-30 8:45 ` Ingo Molnar
2004-03-30 8:53 ` Nick Piggin
2004-03-30 15:27 ` Martin J. Bligh
2004-03-25 19:24 ` Martin J. Bligh
2004-03-25 21:48 ` Ingo Molnar
2004-03-25 22:28 ` Martin J. Bligh
2004-03-29 22:30 ` Erich Focht
2004-03-30 9:05 ` Nick Piggin [this message]
2004-03-30 10:04 ` Erich Focht
2004-03-30 10:58 ` Andi Kleen
2004-03-30 16:03 ` [patch] sched-2.6.5-rc3-mm1-A0 Ingo Molnar
2004-03-31 2:30 ` Nick Piggin
2004-03-30 11:02 ` [Lse-tech] [patch] sched-domain cleanups, sched-2.6.5-rc2-mm2-A3 Andrew Morton
[not found] ` <20040330161438.GA2257@elte.hu>
[not found] ` <20040330161910.GA2860@elte.hu>
[not found] ` <20040330162514.GA2943@elte.hu>
2004-03-30 21:03 ` [patch] new-context balancing, 2.6.5-rc3-mm1 Ingo Molnar
2004-03-31 2:30 ` Nick Piggin
2004-03-31 18:59 ` [Lse-tech] [patch] sched-domain cleanups, sched-2.6.5-rc2-mm2-A3 Erich Focht
2004-03-31 2:08 ` Nick Piggin
2004-03-31 22:23 ` Erich Focht
2004-03-30 15:01 ` Martin J. Bligh
2004-03-31 21:23 ` Erich Focht
2004-03-31 21:33 ` Martin J. Bligh
2004-03-25 21:59 ` Ingo Molnar
2004-03-25 22:26 ` Rick Lindsley
2004-03-25 22:30 ` Andrew Theurer
2004-03-25 22:38 ` Martin J. Bligh
2004-03-26 1:29 ` Andi Kleen
2004-03-26 3:23 ` Nick Piggin
-- strict thread matches above, loose matches on Subject: below --
2004-03-30 21:40 Nakajima, Jun
2004-03-30 22:15 ` Andrew Theurer
[not found] <1DF7H-22Y-11@gated-at.bofh.it>
[not found] ` <1DL3x-7iG-7@gated-at.bofh.it>
[not found] ` <1DLGd-7TS-17@gated-at.bofh.it>
[not found] ` <1FmNz-72J-73@gated-at.bofh.it>
[not found] ` <1FnzJ-7IW-15@gated-at.bofh.it>
2004-03-30 9:39 ` Andi Kleen
2004-03-31 1:56 ` Nick Piggin
2004-03-25 15:15 Nakajima, Jun
2004-03-25 16:19 ` John Hawkes
2004-03-25 16:53 ` Martin J. Bligh
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=4069384B.9070108@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=anton@samba.org \
--cc=efocht@hpce.nec.com \
--cc=jun.nakajima@intel.com \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=mbligh@aracnet.com \
--cc=mingo@elte.hu \
--cc=ricklind@us.ibm.com \
--cc=rusty@rustcorp.com.au \
/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