From: Ingo Molnar <mingo@elte.hu>
To: Paul Jackson <pj@engr.sgi.com>
Cc: kenneth.w.chen@intel.com, torvalds@osdl.org,
nickpiggin@yahoo.com.au, akpm@osdl.org,
linux-kernel@vger.kernel.org
Subject: Re: [patch] sched: auto-tune migration costs [was: Re: Industry db benchmark result on recent 2.6 kernels]
Date: Sun, 3 Apr 2005 17:01:02 +0200 [thread overview]
Message-ID: <20050403150102.GA25442@elte.hu> (raw)
In-Reply-To: <20050403071227.666ac33d.pj@engr.sgi.com>
* Paul Jackson <pj@engr.sgi.com> wrote:
> Three more observations.
>
> 1) The slowest measure_one() calls are, not surprisingly, those for the
> largest sizes. At least on my test system of the moment, the plot
> of cost versus size has one major maximum (a one hump camel, not two).
>
> Seems like if we computed from smallest size upward, instead of largest
> downward, and stopped whenever two consecutive measurements were less
> than say 70% of the max seen so far, then we could save a nice chunk
> of the time.
>
> Of course, if two hump systems exist, this is not reliable on them.
yes, this is the approach i'm currently working on, but it's not
reliable yet. (one of the systems i have drifts its cost into infinity
after the hump, which shouldnt happen)
> 2) Trivial warning fix for printf format mismatch:
thx.
> 3) I was noticing that my test system was only showing a couple of
> distinct values for cpu_distance, even though it has 4 distinct
> distances for values of node_distance. So I coded up a variant of
> cpu_distance that converts the problem to a node_distance problem,
> and got the following cost matrix:
>
> =================================== begin ===================================
> Total of 8 processors activated (15515.64 BogoMIPS).
> ---------------------
> migration cost matrix (max_cache_size: 0, cpu: -1 MHz):
> ---------------------
> [00] [01] [02] [03] [04] [05] [06] [07]
> [00]: - 4.0(0) 21.7(1) 21.7(1) 25.2(2) 25.2(2) 25.3(3) 25.3(3)
> [01]: 4.0(0) - 21.7(1) 21.7(1) 25.2(2) 25.2(2) 25.3(3) 25.3(3)
> [02]: 21.7(1) 21.7(1) - 4.0(0) 25.3(3) 25.3(3) 25.2(2) 25.2(2)
> [03]: 21.7(1) 21.7(1) 4.0(0) - 25.3(3) 25.3(3) 25.2(2) 25.2(2)
> [04]: 25.2(2) 25.2(2) 25.3(3) 25.3(3) - 4.0(0) 21.7(1) 21.7(1)
> [05]: 25.2(2) 25.2(2) 25.3(3) 25.3(3) 4.0(0) - 21.7(1) 21.7(1)
> [06]: 25.3(3) 25.3(3) 25.2(2) 25.2(2) 21.7(1) 21.7(1) - 4.0(0)
> [07]: 25.3(3) 25.3(3) 25.2(2) 25.2(2) 21.7(1) 21.7(1) 4.0(0) -
> ---------------------
> cacheflush times [4]: 4.0 (4080540) 21.7 (21781380) 25.2 (25259428) 25.3 (25372682)
i'll first try the bottom-up approach to speed up detection (getting to
the hump is very fast most of the time). The hard part was to create a
workload that generates the hump reliably on a number of boxes - i'm
happy it works on ia64 too.
then we can let the arch override the cpu_distance() method, although i
do think that _if_ there is a significant hierarchy between CPUs it
should be represented via a matching sched-domains hierarchy, and the
full hierarchy should be tuned accordingly.
btw., the migration cost matrix we can later use to tune all the other
sched-domains balancing related tunables as well - cache_hot_time is
just the first obvious step. (which also happens to make the most
difference.)
Ingo
next prev parent reply other threads:[~2005-04-03 15:01 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-02 1:00 Industry db benchmark result on recent 2.6 kernels Chen, Kenneth W
2005-04-02 2:12 ` Nick Piggin
2005-04-02 14:53 ` [patch] sched: auto-tune migration costs [was: Re: Industry db benchmark result on recent 2.6 kernels] Ingo Molnar
2005-04-02 21:22 ` Paul Jackson
2005-04-03 5:53 ` Paul Jackson
2005-04-03 7:04 ` Ingo Molnar
2005-04-03 8:15 ` Paul Jackson
2005-04-03 11:34 ` Paul Jackson
2005-04-03 14:12 ` Paul Jackson
2005-04-03 15:01 ` Ingo Molnar [this message]
2005-04-03 22:30 ` Paul Jackson
2005-04-05 6:53 ` [patch] sched: auto-tune migration costs Andi Kleen
2005-04-05 7:20 ` Paul Jackson
2005-04-03 15:24 ` [patch] sched: auto-tune migration costs [was: Re: Industry db benchmark result on recent 2.6 kernels] Ingo Molnar
2005-04-03 23:08 ` Paul Jackson
2005-04-04 2:08 ` Nick Piggin
2005-04-04 3:55 ` Paul Jackson
2005-04-04 5:45 ` Ingo Molnar
2005-04-04 5:50 ` Paul Jackson
2005-04-04 5:56 ` Nick Piggin
2005-04-04 6:38 ` Paul Jackson
2005-04-04 6:48 ` Ingo Molnar
2005-04-04 7:37 ` Paul Jackson
2005-04-04 6:50 ` Ingo Molnar
2005-04-04 7:27 ` Paul Jackson
2005-04-03 14:29 ` Ingo Molnar
2005-04-03 23:15 ` Paul Jackson
2005-04-04 1:31 ` Chen, Kenneth W
2005-04-04 6:24 ` Ingo Molnar
2005-04-04 6:39 ` Ingo Molnar
2005-04-06 0:08 ` Chen, Kenneth W
2005-04-04 4:25 ` Andy Lutomirski
2005-04-04 4:36 ` Paul Jackson
2005-04-04 1:11 ` Chen, Kenneth W
2005-04-04 11:37 ` Ingo Molnar
2005-04-04 17:27 ` Paul Jackson
2005-04-05 1:43 ` Chen, Kenneth W
2005-04-05 1:49 ` Ingo Molnar
2005-04-05 3:04 ` Ingo Molnar
2005-04-06 3:33 ` Chen, Kenneth W
2005-04-06 6:45 ` Ingo Molnar
2005-04-08 2:27 ` Chen, Kenneth W
2005-04-03 9:01 ` Paul Jackson
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=20050403150102.GA25442@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=kenneth.w.chen@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=pj@engr.sgi.com \
--cc=torvalds@osdl.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