LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Michael Gerdau <mgd@technosis.de>
Cc: linux-kernel@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Nick Piggin <npiggin@suse.de>,
	Gene Heskett <gene.heskett@gmail.com>,
	Juliusz Chroboczek <jch@pps.jussieu.fr>,
	Mike Galbraith <efault@gmx.de>,
	Peter Williams <pwil3058@bigpond.net.au>,
	ck list <ck@vds.kolivas.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	William Lee Irwin III <wli@holomorphy.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Bill Davidsen <davidsen@tmr.com>, Willy Tarreau <w@1wt.eu>,
	Arjan van de Ven <arjan@infradead.org>
Subject: Re: [REPORT] cfs-v6-rc2 vs sd-0.46 vs 2.6.21-rc7
Date: Thu, 26 Apr 2007 14:07:23 +0200	[thread overview]
Message-ID: <20070426120723.GA4092@elte.hu> (raw)
In-Reply-To: <200704261312.25571.mgd@technosis.de>


* Michael Gerdau <mgd@technosis.de> wrote:

> Hi list,
> 
> find below a test comparing
>     2.6.21-rc7 (mainline)
>     2.6.21-rc7-sd046
>     2.6.21-rc7-cfs-v6-rc2(*) (X @ nice 0)
>     2.6.21-rc7-cfs-v6-rc2(*) (X @ nice -10)
> running on a dualcore x86_64.

thanks for the testing!

as a summary: i think your numbers demonstrate it nicely that the 
shorter 'timeslice length' that both CFS and SD utilizes does not have a 
measurable negative impact on your workload. To measure the total impact 
of 'timeslicing' you might want to try the exact same workload with a 
much higher 'timeslice length' of say 400 msecs, via:

    echo 400000000 > /proc/sys/kernel/sched_granularity_ns  # on CFS
    echo 400 > /proc/sys/kernel/rr_interval                 # on SD

your existing numbers are a bit hard to analyze because the 3 workloads 
were started at the same time and they overlapped differently and 
utilized the system differently.

i think the primary number that makes sense to look at (which is perhaps 
the least sensitive to the 'overlap effect') is the 'combined user times 
of all 3 workloads' (in order of performance):

> 2.6.21-rc7:                              20589.423    100.00%
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice -10):    20613.845     99.88%
> 2.6.21-rc7-sd046:                        20617.945     99.86%
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice 0):      20743.564     99.25%

to me this gives the impression that it's all "within noise". In 
particular the two CFS results suggest that there's at least a ~100 
seconds noise in these results, because the renicing of X should have no 
impact on the result (the workloads are pure number-crunchers, and all 
use up the CPUs 100%, correct?), and even if it has an impact, renicing 
X to nice 0 should _speed up_ the result - not slow it down a bit like 
the numbers suggest.

another (perhaps less reliable) number is the total wall-clock runtime 
of all 3 jobs. Provided i did not make any mistakes in my calculations, 
here are the results:

> 2.6.21-rc7-sd046:                        10512.611 seconds
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice -10):    10605.946 seconds
> 2.6.21-rc7:                              10650.535 seconds
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice 0):      10788.125 seconds

(the numbers are lower than the first numbers because this is a 2 CPU 
system)

both SD and CFS-nice-10 was faster than mainline, but i'd say this too 
is noise - especially because this result highly depends on the way the 
workloads overlap in general, which seems to be different for SD.

system time is interesting too:

> 2.6.21-rc7:                              35.379
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice -10):    40.399
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice 0):      44.239
> 2.6.21-rc7-sd046:                        45.515

here too the two CFS results seem to suggest that there's at least 
around 5 seconds of noise. So i'd not necessarily call it systematic 
that vanilla had the lowest system time and SD had the highest.

combined system+user time:

> 2.6.21-rc7:                              20624.802
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice 0):      20658.084
> 2.6.21-rc7-sd046:                        20663.460
> 2.6.21-rc7-cfs-v6-rc2 (X @ nice -10):    20783.963

perhaps it might make more sense to run the workloads serialized, to 
have better comparabality of the individual workloads. (on a real system 
you'd naturally want to overlap these workloads to utilize the CPUs, so 
the numbers you did are very relevant too.)
 
The vmstat suggested there is occasional idle time in the system - is 
the workload IO-bound (or memory bound) in those cases?

	Ingo

  reply	other threads:[~2007-04-26 12:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-26 11:12 Michael Gerdau
2007-04-26 12:07 ` Ingo Molnar [this message]
2007-04-26 13:22   ` Michael Gerdau
2007-04-26 13:55     ` Ingo Molnar
2007-04-26 22:59   ` [ck] " Con Kolivas
2007-04-27  5:59     ` Michael Gerdau
2007-04-27  6:52     ` 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=20070426120723.GA4092@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=ck@vds.kolivas.org \
    --cc=davidsen@tmr.com \
    --cc=efault@gmx.de \
    --cc=gene.heskett@gmail.com \
    --cc=jch@pps.jussieu.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgd@technosis.de \
    --cc=npiggin@suse.de \
    --cc=pwil3058@bigpond.net.au \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=w@1wt.eu \
    --cc=wli@holomorphy.com \
    --subject='Re: [REPORT] cfs-v6-rc2 vs sd-0.46 vs 2.6.21-rc7' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).