Hacker News new | past | comments | ask | show | jobs | submit login
Con Kolivas releases BFS, alternative to mainline scheduler (kolivas.org)
39 points by jtgeibel on Sept 1, 2009 | hide | past | favorite | 24 comments



XKCD comic mentioned in article: http://xkcd.com/619/


This is awesome, Con may have battled with the Kernel Devs in the past, however his focus on improving scheduling for desktop Linux is commendable.

I for one would like to see a module or kernel for Ubuntu Jaunty that we can install from apt to play and test this baby.

D.


God damn do I hope nobody distributes a build of this for ubuntards to use!

Con's original scheduler had no chance of becoming the vanilla scheduler, as it was in no way general purpose, had a number of regressions, and he was a dick about the whole thing (in a community of assholes!). He was also insistent on making the scheduler modular, something that Linus and his lieutenants rightly refused outright. This new scheduler seems to amplify all the bad qualities of his last one.

Something I found quite distasteful in the CFS battle was the way he gathered a noisy following of clueless newbies/tweakers using his kernel that made it very hard to have any honest discussion of the matter. Repeating that again with a much larger and more adolescent crowd of Ubuntu users would be really annoying.


sigh

What's with the attitude? A lot of people use Ubuntu, why not have a scheduler that caters to their needs? Your sneering at 'ubuntards' is just petty.


Hey, I use Ubuntu for my desktop at work, and in the past have done substantial deployments of it to managed end-user desktops. It's not beneath me or anything.

I'm sneering at a particular subset of Ubuntu users -- the entire userbase of ubuntuforums.org, the Digg/Reddit/Lifehacker "top ten ways to..." readers. They are the "Power Users" of desktop Linux -- they have no clue how anything works nor the facility to learn, but they sure are earnest and they love to evangelize! They'll seize any opportunity to apply their cargo-cult knowledge to help you with the problems they think you have.

In past generations these people (largely adolescents) would have been know-nothing partisan tweakers of Windows, Classic Mac OS, BeOS, Amiga, or any number of 8-bit home computer platforms. For now Linux is the cool thing to wank over -- compiz helped a lot with that. A couple years ago it looked like a lot of them were defecting to the Hackintosh community -- does anyone know if that trend held up numbers-wise?


Why are you calling these people "Ubuntards"? I don't know about Digg or Lifehacker but the vast majority of Linux people on Reddit despise Ubuntu and use Arch instead.


can anyone confirm this comment with some data, or just anecdotally? I am an arch user, but don't use reddit, and this claim sort of worries me.


I know that http://www.reddit.com/user/dons is constantly evangelizing Haskell and Arch on reddit, to the point where he's self-parodying. He's also single-handedly responsible for there being 1314 (!) haskell packages in Arch.

At least Arch gives the tweakers a bit more rope with which to form either a noose or a lasso.


Sorry, in college my officemates and I were fond of coining epithets for our annoyances (also see 'duggalo' and 'gamer scum').

If the Reddit crowd has switched to Arch, I'm happy for them. They grow up so fast!


Could you explain? I can't evaluate the technical merits, but is there an alternative if you actually want a scheduler to cater to a desktop user's needs?


Good to see Con back. But three letter acronyms have too many collisions and this is one of those cases.

As soon as I saw the title of this post, I was instantly reminded of BFS - the Be File System http://en.wikipedia.org/wiki/Be_File_System

Although in this case it's a Kernel scheduler rather than a Kernel mode Filesystem driver (even though Linux already has kernel module named bfs - Boot File System!) - indeed a TLA may have been a poor choice for a really useful project!


Was your use of an acronym for three letter acronym that is ambiguous and could refer to two letter acronyms, three letter acronyms, or even three-hundred letter acronyms intentional?


And it's not even an acronym, it's an initialism!

http://en.wikipedia.org/wiki/Acronym_and_initialism


This is very exciting. I use Linux on my desktop, laptop, servers, and embedded devices. I was getting kind of tired of the latency tradeoffs made to improve throughput. The kernel developers are really good at what they do, but like most geeks, sometimes they need a virtual kick in the head to realize that there might be a better way to do something. I'll be trying out his new scheduler as soon as I get a chance to compile a new kernel. I hope it works with the realtime patches.


It's not so much that the kernel devs are actively making "latency tradeoffs" -- it's that they absolutely can't get away with regressions

It would be completely untenable if the corporate users (who are in the vast majority by every metric) ended up either not upgrading or using a fork that reverts the changes.


I suppose I see using a "one size fits all" scheduler as inherently full of tradeoffs between desktop, realtime, server, and 4096-core-compute-system requirements. IMO distributions and kernel hackers should be able to choose a scheduler that is optimal for their target audience. RHEL would probably stick with CFS, but Ubuntu Studio could use something more latency-oriented, like BFS.

Maybe if CK keeps bringing up the issue, eventually someone will figure out an optimal way of measuring perceived latency that will prove or disprove the anecdotes given by CK's "followers."


But any change to the scheduler is a regression for someone, more or less by definition. Do you mean that they can't change it anymore at all?


Is there a short description of the algorithm anywhere? I'm too lazy to read the code.


Not lazy, just sane.


"With a truckload of help from William Lee Irwin III (who wrote the main architecture) I posted a pluggable CPU scheduler framework that would allow you to build into the kernel as many of multiple CPU schedulers as you like and choose at boot time which one to run. I planned to extend that to runtime selection as well. This is much like the modular pluggable I/O scheduler framework that Linux kernel currently has. It was flat out refused by both Linus and Ingo (who is the CPU scheduler maintainer) as leading to specialisation of CPU schedulers and they both preferred there to be one CPU scheduler that was good at everything. I guess you can say the CPU scheduler is a steamroller that we as desktop users use to crack nuts with, and they didn't want us to build a nutcracker into the kernel."

o_o


It looks like HN is 800K compliant.

Congratulations.


???


Looks like good work.

And there are those that say the kernel should be monolithic still.


OMG! He came back!

Edit: Explanation is due. Years ago, Con split from dev:

http://apcmag.com/why_i_quit_kernel_developer_con_kolivas.ht...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: