Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Sep 2006 13:22:53 -0400
From:      Kris Kennaway <kris@obsecurity.org>
To:        Mike Meyer <mwm-keyword-freebsdhackers2.e313df@mired.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: numbers don't lie ...
Message-ID:  <20060913172253.GA17499@xor.obsecurity.org>
In-Reply-To: <17672.14633.859999.417883@bhuda.mired.org>
References:  <E1GNOLq-000DC2-1Q@cs1.cs.huji.ac.il> <17672.14633.859999.417883@bhuda.mired.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Wed, Sep 13, 2006 at 01:00:25PM -0400, Mike Meyer wrote:

> > 	SUN X4100:	Dual Core AMD Opteron(tm) Processor 280 (2393.19-MHz K8-class CPU)
> > 			one 70g sata disk
> > 	DELL 2950:	Intel(R) Xeon(TM) CPU 3.20GHz (3192.98-MHz K8-class CPU)
> > 			4 sata disks + raid0
> > 
> > they both run identical 6.1-STABLE.
> > 
> > my 'cpu benchmark' shows the amd being much better than the intel.
> > but, doing a make buildworld give interesting results:
> > 
> > dell-2950 : make -j16 TARGET_ARCH=amd64 buildworld : 24m17.41s real 1h3m3.26s 
> > user 17m15.07s sys
> > dell-2950 : make -j8 TARGET_ARCH=amd64 buildworld : 24m8.28s real 1h2m59.38s 
> > user 16m16.20s sys
> > 
> > sunfire : make -j16 TARGET_ARCH=amd64 buildworld : 24m21.38s real 49m6.68s 
> > user 14m22.64s sys
> > sunfire : make -j8 TARGET_ARCH=amd64 buildworld : 23m47.69s real 48m53.58s 
> > user 13m44.81s sys
> > 
> > which probably says something about my 'cpu benchmark' :-(
> 
> Yes - that it's not very good at predicting performance on a parallel
> make. That's not surprising, as it's true of most benchmarks. You
> might want to check out some of the benchmarks in the ports tree as
> well.
> 
> > but why is the user time so much different between the boxes?
> 
> What's the CPU configuration? The AMD is dual core - is that it? Could
> the Xeon be dual-core and hyperthreaded, so it's got that many more
> CPUs to contribute towards user time?
> 
> To illustrate, I have numbers for "make -j4" for a P4 with and without
> hyperthreading enabled:
> 
> machdep.hyperthreading_allowed: 1 -> 0
>      50m55.99s real      35m28s.19 user       8m20s.02 sys
> machdep.hyperthreading_allowed: 0 -> 1
>      38m48s.85 real      55m2s.43 user       12m27s.90 sys
> 
> Note the effect of the second CPU on the user time.

i.e. since the hyperthreading virtual CPUs are not actually real CPUs,
they spend a lot of time blocked in the same CPU core waiting for
another hyperthread to release a resource, so the threads are both
"running" from the point of view of the OS, but one is doing no work
on the CPU a lot of the time.  This means that hyperthreading may or
may not increase your performance depending on your workload (in your
case it does).

Kris

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFFCD5sWry0BWjoQKURAlwTAKCX7BnLNqbKa5jug7QU+pyk4HSx9QCfXvEd
7ovzThF90AyVJ/dbkwwT5LY=
=CZoW
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060913172253.GA17499>