
Ingo Molnar: BFS vs. mainline scheduler benchmarks and measurements - blasdel
http://thread.gmane.org/gmane.linux.kernel/886319
======
psranga
I would _LOVE_ to use a scheduler tuned for my hardware if outperformed the
generic scheduler. I'm not a kernel developer, but I can imagine how the
mainstream single-socket multicore case may be quite different from the multi-
socket multicore case.

As I software engineer, I realize that making different schedulers for
different architectures is "inefficient" (unless development/test resources
are increased). But if somebody is willing to put in the time and effort to
make me a scheduler that works best on my hardware, I'll gladly take it.

I have to agree with Con's remarks here. Seems like an underhanded move by
Ingo to give this thing a bad reputation (and hence kill developer and beta
tester interest) before it comes out. And judging by the comments here, he may
have succeeded. Looks like open source has lots of politics too. :)

~~~
dfranke
I don't think I quite understand what misconception people hold which leads
them to believe that any environment in which two or more human beings are in
social contact could ever be free of politics.

------
dfranke
I think CK's reply just put me off for good from taking the time to try out
his patches:

 _/me sees Ingo run off to find the right combination of hardware and
benchmark to prove his point.

[snip lots of bullshit meaningless benchmarks showing how great cfs is and/or
how bad bfs is, along with telling people they should use these artificial
benchmarks to determine how good it is, demonstrating yet again why benchmarks
fail the desktop] _

So, to paraphrase: BFS is vastly superior, but not in any way that you can
actually measure.

Con made a valuable contribution back when the choice was between staircase-
deadline and the old mainline O(1) scheduler, but he's since turned himself
into a crank.

~~~
tsally
_So, to paraphrase: BFS is vastly superior, but not in any way that you can
actually measure._

From my understanding, your interpretation is not correct. BFS is about
latency, not throughput. Ingo chose all the wrong benchmarks.

Also, it's a dick move by Ingo. CK hasn't even made a public announcement
about BFS yet.

Finally, you should use code that has technical merit, regardless of the
personality behind the writer. I imagine the kernel you're running on has code
in it written by some pretty unfriendly people.

~~~
dfranke
_From my understanding, your interpretation is not correct. BFS is about
latency, not throughput. Ingo chose all the wrong benchmarks._

Then how about CK showing up the right ones?

 _Also, it's a dick move by Ingo. CK hasn't even made a public announcement
about BFS yet._

He announced it publicly enough that I knew about it, and I haven't followed
this stuff in years. Given that, I hardly think that commenting on his efforts
on LKML constitutes a premature "outing".

 _Finally, you should use code that has technical merit, regardless of the
personality behind the writer. I imagine the kernel you're running on has code
in it written by some pretty unfriendly people._

Indeed: one of them murdered his wife. But you brought up personalities, not
me. The part of CK's post that I quoted is rather dickish, but I deliberately
avoided commenting on that.

~~~
tsally
_Then how about CK showing up the right ones?_

Why? It's not as if CK is trying to get it into the mainline. I think the only
reason why CK got angry is that Ingo's benchmarks appear to be deliberately
chosen to make BFS look bad. Anyone who took the time to read the
documentation would realize that testing throughput is not correct. That'd be
like benchmarking Python and C using matrix multiplication and concluding that
Python sucks. Two different tools for different purposes.

 _He announced it publicly enough that I knew about it, and I haven't followed
this stuff in years. Given that, I hardly think that commenting on his efforts
on LKML constitutes a premature "outing."._

I think the announcement was mostly the work of Reddit et al., but fair
enough.

 _Indeed: one of them murdered his wife. But you brought up personalities, not
me._

Reiser was a crazy one. ;) I actually only brought up personalities because I
was under the impression that you wouldn't try CK's patch because of his
personality. I say if there's interesting code out there, it shouldn't go to
waste because of the quirks of the author. I apologize if I misinterpreted.

~~~
dfranke
_Why? It's not as if CK is trying to get it into the mainline._

What does one have to do with the other? If I'm going to spend the necessary
20 minutes to compile a new kernel using CK's patch, I want some evidence that
I'm going to be gaining something.

~~~
antonovka
_What does one have to do with the other? If I'm going to spend the necessary
20 minutes to compile a new kernel using CK's patch, I want some evidence that
I'm going to be gaining something._

Then perhaps you should pay Con Kolivas to prove the value of his freely
provided no-warranty work-in-progress code for you.

~~~
dfranke
Nothing is ever free unless your time has no value. I've published and
contributed to a great deal of open source software, much of it successful.
I've been among these communities for a very long time and understand the
social expectations. One of them is this: if you want anyone to care about
your work, then you'd better be prepared to defend it. I would find any
contrary expectation to be unbearably narcissistic, and, whatever his other
failings, I think CK would agree with me on this. Think of it this way: if you
published an essay containing controversial opinions, would you demand that it
be immune to criticism on the basis that you're giving it away for free? I
don't think software should be considered different in any case, and certainly
not in this one given that CK is representing his work as an improvement over
someone else's.

~~~
antonovka
_I've published and contributed to a great deal of open source software, much
of it successful._

I have also published a great deal of open source software, much of it
successful, and some of it almost universally used. Unfortunately, that does
absolutely _nothing_ to bolster either of our arguments.

 _If you published an essay containing controversial opinions, would you
demand that it be immune to criticism on the basis that you're giving it away
for free_

You asked for: "I want some evidence that I'm going to be gaining something".

If we try to apply that to your analogy, why is it the author's responsibility
to not only produce the work, document the work, but then also supply their
own literary criticism so that you can decide if the work is worthwhile, all
before the essay is completed and ready for publication?

Open source developers regularly produce software just because they want to,
and feel no impetus or desire to convince you of anything. That's not, as you
put it, some sort of "narcissistic" behavior, but rather a desire to simply
share without additional burden or demands by others.

~~~
scott_s
For what it's worth, the kind of analysis dfranke expects is required in the
academic community. If you provide no evidence that what you've created is
better than the status-quo, then no one will care. I don't consider this an
"additional burden."

------
blasdel
The parallel LWN thread: <http://lwn.net/Articles/351058/>

~~~
nitrogen
A lot of discussion on LWN and on the LKML seems to focus on the
"unbenchmarkability" of UI interactiveness. This is just a guess, but maybe
Con's background as an anesthesiologist (rather than a programmer) causes him
to understand feelings better than measurements.

If I were to assign blame for the latency problems I experience, I would place
it on the 100-call-deep stacks that are used to deliver events in Gtk+ and Qt,
and on the binary Nvidia driver's lack of good 2D+compositing acceleration.

~~~
rbanffy
"Con's background as an anesthesiologist (rather than a programmer) causes him
to understand feelings better than measurements"

I would be pretty worried with an anesthesiologist that disregarded his
measurements... Either you can measure or it doesn't exist. If it exists and
you don't measure, you'd better write something to measure it.

------
skorgu
I'm not going to try to follow LKML just for this but if anyone at HN has a
benchmark they'd like me to try out on 2.6.30 Arch vs 2.6.30-bfs on a quad-
core Xeon I'll give it a shot.

~~~
illumen
Run a compile job, or a video encode... then try web browsing.

Perhaps you could time clicks to open new tabs in your browser. Or switch
virtual spaces.

With the background work, you should notice no or very little difference.
Since the interactive work should get highest priority(this is what you are
aiming for).

You can try these tests without bfs patches too. You can see how the default
kernel/X11/driver is not optimal - and how things can be improved.

It's still much nicer than OSX, and windows however.

~~~
skorgu
Yeah, I've done the standard "nice make -j 4 bzImage" and noticed no
detectable slowdown in normal browsing tasks, window movement,
chromium/flashplayer etc. It does _feel_ snappier as CK was going for but
since I know I'm running bfs I'm somewhat afraid of confirmation bias.

------
peregrine
On a related thread <http://news.ycombinator.com/item?id=810833>

BFS had been ported to one of the Custom Roms for Android and has already
shown increased speed improvements.

