To SMP or not to SMP
Barney Cordoba
barney_cordoba at yahoo.com
Thu Jan 10 01:38:47 UTC 2013
--- On Wed, 1/9/13, Barney Cordoba <barney_cordoba at yahoo.com> wrote:
> From: Barney Cordoba <barney_cordoba at yahoo.com>
> Subject: Re: To SMP or not to SMP
> To: "Mark Atkinson" <atkin901 at gmail.com>
> Cc: freebsd-net at freebsd.org
> Date: Wednesday, January 9, 2013, 1:08 PM
>
>
> --- On Tue, 1/8/13, Mark Atkinson <atkin901 at gmail.com>
> wrote:
>
> > From: Mark Atkinson <atkin901 at gmail.com>
> > Subject: Re: To SMP or not to SMP
> > To: freebsd-net at freebsd.org
> > Date: Tuesday, January 8, 2013, 11:29 AM
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > On 01/07/2013 18:25, Barney Cordoba wrote:
> > > I have a situation where I have to run 9.1 on an
> old
> > single core
> > > box. Does anyone have a handle on whether it's
> better
> > to build a
> > > non SMP kernel or to just use a standard SMP build
> with
> > just the
> > > one core? Thanks.
> >
> > You can build a SMP kernel, but you'll get better
> > performance (in my
> > experience) with SCHED_4BSD on single cpu than with
> ULE.
> >
>
> I've tested the 2 schedulers on an SMP kernel with 1 core. I
> don't have
> a 1 core system to test with so I'm using an E5520
> with 1 core enabled.
>
> Bridging a controlled test (curl-loader doing a web-load
> test with 100
> users that consistently generates 870Mb/s and 77Kpps, I see
> the following:
>
> top -SH
>
> ULE:
>
> idle: 74.85%
> kernel {em1 que} 17.68%
> kernel {em0 que} 5.86%
> httpd: .49%
>
> 4BSD:
>
> idle: 70.95%
> kernel {em1 que} 18.07%
> kernel {em0 que} 4.44%
> httpd: .93%
>
> Note that the https is a monitor I'm running.
>
> so it appears that theres 7% of usage missing (all other
> apps show 0%
> usage).
>
> If i had to guess just looking at the numbers, it seems that
> 4BSD might
> do better with the interrupt level stuff, and not as good
> with user
> level context switching. I think they're close enough to
> stick with ULE
> so I can just use a stock kernel.
>
> One thing that bothers me is the idle sits at 100% when
> other tasks are
> registering values under light loads, so it's certainly not
> all that
> accurate.
>
> BC
Ok, thanks to J Baldwin's tip I got a NON-SMP kernel running with some
interesting results. Here's all 4 tests:
I've tested the 2 schedulers on an SMP kernel with 1 core. I don't have
a 1 core system to test with so I'm using an E5520 with 1 core enabled.
Bridging a controlled test (curl-loader doing a web-load test with 100
users that consistently generates 870Mb/s and 77Kpps, I see the following:
top -SH
ULE (SMP):
idle: 74.85%
kernel {em1 que} 17.68%
kernel {em0 que} 5.86%
httpd: .49%
4BSD (SMP):
idle: 70.95%
kernel {em1 que} 18.07%
kernel {em0 que} 4.44%
httpd: .93%
4BSD (NON-SMP):
idle: 72.95%
kernel {em1 que} 15.04%
kernel {em0 que} 6.10%
httpd: 1.17%
ULE (NON-SMP):
idle: 76.17%
kernel {em1 que} 16.99%
kernel {em0 que} 5.18%
httpd: 1.66%
A kernel with SMP off seems to be a bit more efficient. A better test would
be to have more stuff running, but Im about out of time on this project.
BC
More information about the freebsd-net
mailing list