From owner-freebsd-current@FreeBSD.ORG Wed Aug 11 15:09:23 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 4EC3416A4CE for ; Wed, 11 Aug 2004 15:09:23 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id C732D43D3F for ; Wed, 11 Aug 2004 15:09:22 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i7BF7lBW018632; Wed, 11 Aug 2004 11:07:47 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: from localhost (robert@localhost)i7BF7kvX018629; Wed, 11 Aug 2004 11:07:46 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Wed, 11 Aug 2004 11:07:46 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: Martin Blapp In-Reply-To: <20040811164404.X31181@cvs.imp.ch> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org Subject: Re: SCHEDULE and high load situations 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: Wed, 11 Aug 2004 15:09:23 -0000 On Wed, 11 Aug 2004, Martin Blapp wrote: > During load tests with both SCHED4BSD and SCHEDULE I found that the > latest SCHEDULE version cannot have a load over 2-3. I stress tested the > server really a lot, but about 500 processes did sleep and did not got > scheduled and only 2 of 500 were run and got about 50% of CPU time. > > Is this a known problem ? I've found that for throughput oriented workloads, 4BSD substantially outperforms ULE, but I haven't tried it with Jeff's latest set of patches (committed a day or two ago). You don't mention if your box is SMP, btw -- I've noticed some load balancing problems with ULE previously, but haven't checked if they were resolved. Anecdotal opinion seems generally to be that interactivity is observably better with ULE than 4BSD, but that 4BSD appears to do a better job under load. This weekend I'll be rerunning a number of benchmarks across a broad range of variables (scheduler, smp support, htt, various locking models, different netisr models, threading libraries, etc) to evaluate progress over the last month, and I'll see how things look with ULE. FYI, when I started benchmarking MySQL a couple of months ago, I was seeing about 2800 transactions/sec on a benchmark on my dual P4 with (GENERIC - DEBUGGING). Now I'm seeing about 7100-7200 transactions/sec. I've merged pretty much all of the changes necessary to see that transition except moving to 4BSD by default, disabling HTT by default, and enabling Giant-free networking by default. UP has also improved, but only be a relatively small fraction, so I've been shifting attention to UP from SMP. Some of the wins on SMP have been from moving to adaptive mutexes by default (most recently, for Giant on i386); others from improved fine grain locking in VM and networking, and general optimization of synchronization primitives, scheduling, wakeups/locking, etc. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research