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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.