From owner-freebsd-current@FreeBSD.ORG Tue Mar 2 06:20:15 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B6E9A16A4CE for ; Tue, 2 Mar 2004 06:20:15 -0800 (PST) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4396343D1D for ; Tue, 2 Mar 2004 06:20:15 -0800 (PST) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.10/8.12.10) with ESMTP id i22EJ6DL002833; Tue, 2 Mar 2004 09:19:06 -0500 (EST) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i22EJ5YO002830; Tue, 2 Mar 2004 09:19:06 -0500 (EST) (envelope-from robert@fledge.watson.org) Date: Tue, 2 Mar 2004 09:19:05 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org To: Vincent Poy In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org cc: Alexandre Sunny Kovalenko Subject: Re: buildworld times X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Mar 2004 14:20:15 -0000 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@fledge.watson.org Senior Research Scientist, McAfee Research