Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Apr 2002 11:09:35 -0700 (MST)
From:      John Regehr <regehr@cs.utah.edu>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Linuxthreads on Linux vs FreeBSD performance question
Message-ID:  <Pine.LNX.4.21.0204041009440.27824-100000@famine.cs.utah.edu>
In-Reply-To: <3CAC036C.71DB41BB@mindspring.com>

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

No need to use me as an excuse to vent your feelings about
microbenchmarks vs. good benchmarks.  I'm showing how to use a
user-space instrumented application to measure scheduling behavior, not
trying to make any claims about the relative merits of the operating
systems in realistic conditions.  These can and should be separate
activities.

Maybe I should include a few comments to this effect in the paper, in
order to forestall reactions like yours?  The last thing I want is to
get into some sort of Linux vs. FreeBSD thing.  Maybe I can prevent some
of this by telling people that I used to hack the Windows 2000
scheduler! :)

If it would help draw the flames now, while I can still do something
about it (paper is due around Apr 15), I'd be happy to post a pointer to
my paper.

Technical comments follow.

> Because you are attempting a comparative benchmark, I would
> suspect that you are probably running a significantly
> quiescent system (just the benchmark itself, and the code
> being benchmarked, running).  I expect that you have not
> stopped "cron" (which runs once a second), nor have you
> stopped other "system processes" which will end up in the
> scheduling queue, 

No, I haven't stopped these activities.  However, I'm only measuring the
times for context switches between threads in my test application, so
the things you mention are not throwing off the numbers.  How is this
accomplished?  When other apps get to run during the test, this shows up
as large gaps in the CPU time seen by my application, and these are
thrown out as outliers -- they don't influence the statistics.  The test
is acutally quite robust in the sense that a fair amount of background
activity doesn't throw off the numbers, but in this case more care has
to be taken to throw out the outliers in a sensible way.

I'm not running on an SMP either.

> Right now, you are comparing apples and oranges.

Sure, if:

apples == expected time to execute the Linux context switch code when
switching between two Linuxthreads, when the system load consists of 10
CPU-bound threads and very little other activity

oranges == expected time to execute the FreeBSD context switch code when
switching between two Linuxthreads, when the system load consists of 10
CPU-bound threads and very little other activity

Thanks for the detailed answer,

John Regehr



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.21.0204041009440.27824-100000>