buildworld times
Robert Watson
rwatson at freebsd.org
Tue Mar 2 06:20:15 PST 2004
On Mon, 1 Mar 2004, Robert Watson wrote:
> FYI, I now have access to a build box at work with two Xeon 2.4GHz
> processors, each with two logical CPUs, and 1GB of memory. Here are the
> buildworld times, with -DNORESCUE and -DNOPROFILE, 5.2.1-RELEASE
> GENERICish kernel (no WITNESS, INVARIANTS):
>
> Real User Sys
> default 2195.16 1717.69 467.78
> -j 2 2003.20 2151.49 539.67
> -j 4 1703.15 2485.99 654.00
> -j 6 1645.34 2595.67 718.12
> -j 8 1627.88 2618.15 743.53
As a follow-up, this was with SCHED_4BSD, which is the default in 5.2.1.
Here's 5.2.1 with SCHED_ULE on the same hardware:
Real User Sys
default 2191.03 1722.31 455.82
-j 2 1993.30 2154.71 528.67
-j 4 1688.14 2493.55 646.69
-j 6 1630.02 2597.88 706.06
-j 8 1617.72 2619.99 737.98
I should prefix a bit of interpretation by noting that SCHED_ULE has been
changed substantially since 5.2.1. What's interesting about these numbers
is that in the non-parallel case (default), we see moderately better
performance, and substantially less user or system time -- assuming the
time measurements are consistent between the two schedulers. At -j 2,
we're paying a moderate overhead in wall time for using ULE, but seeing
better utilization of resources. At -j 4, we pass a threshold and are
breaking about even, which we continue to do through -j 8.
So a couple of interesting questions to answer would be:
(1) Are the utilization times between 4BSD and ULE directly comparable?
Do we believe that they are both accurate?
(2) If we reran these tests with 5.2-CURRENT, how would the numbers
change?
(3) What is a nice rationalization for going from "using less resources"
to "slower compile".
I'm willing to take on (2) on this hardware sometime in the next couple of
days. I'd expect observable performance improvements due to some of the
changes, and I hope for better relative ULE performance due to ULE changes
made prior to it becoming the default. But we'll see :-).
FYI, I did run multiple passes -- I didn't prevent mean/stdev above, but
the standard deviation is about 2-3 seconds for default, and 3-4 seconds
with -j above 1.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Senior Research Scientist, McAfee Research
More information about the freebsd-current
mailing list