Discover and share the best of the web!
Learn more about Digg by taking the tour.
Linux will get completely new task scheduler
kerneltrap.org — Ingo Molnar released a new patchset titled the "Modular Scheduler Core and Completely Fair Scheduler". This project is a complete rewrite of the Linux task scheduler. The goal is to address various feature requests and to fix deficiencies in the vanilla scheduler that were suggested/found in the past few years, both for desktop an server scheduling
- 613 diggs
- digg it
- schestowitz, on 10/12/2007, -2/+14Yesterday, LinuxWorld had an article about a scalability caveat in the kernel. It is good to see that things are being improved. It by no means indicates that performance is poor.
"If you always optimise, you'll never be happy" -- Donald Knuth- rabidstrikes, on 10/12/2007, -3/+9ingo molnar is God..
Make linux more scalable??? Where does that leave windows - Greyarea, on 10/12/2007, -14/+6"Make linux more scalable??? Where does that leave windows"
With about 90% market share [*], sadly. Most end users simply don't care about such things, and I'm speaking as a (mostly) Mac user here.
[*] depending on whose stats you trust. - drag, on 10/12/2007, -0/+16"""Yesterday, LinuxWorld had an article about a scalability caveat in the kernel. It is good to see that things are being improved. It by no means indicates that performance is poor."""
You did actually read the article, didn't you?
http://www.linuxworld.com/news/2007/041707-kernel.html
The scalability bug that SGI ran into involved a single machine with 4096 processors..
Yep. A 4096-way Linux machine. They had a issue because Linux was spawns a few extra threads per proccessor. On our meager 2-way, 4-way, 64-way servers don't have this issues because they have so few CPUs. What was happenning is that when they went to kill a proccess it would take several seconds for the kernel to go through the all the threads and clean up any zombie processes and such.
Seriously. If I had 4096 CPU server I wouldn't mind having that problem! (Of course it only took the Linux kernel developers a few hours of discussions to come up with several possible solutions that would work)
Ha. That makes the 512-way Linux machines that SGI currently sells look like small potatoes. They also currently support up to 128 terrabytes worth of RAM.
BTW SGI sells those 512-way Linux machines in Beowolf clusters. Slashdot lamers eat your heart out.
http://www.sgi.com/products/servers/altix/4000/configs.html - jasz, on 10/12/2007, -0/+2my Operating systems professor will be happy to hear about this :)
- panique, on 10/12/2007, -0/+1Title is completely inaccurate. Linus laid down the gauntlet after this patch was released, suggesting perhaps the current scheduler maintainers would look at his work and make something even better.
Scroll to the bottom to see:
"It's a really good thing, and it means that if somebody shows that your
code is flawed in some way (by, for example, making a patch that people
claim gets better behaviour or numbers), any *good* programmer that
actually cares about his code will obviously suddenly be very motivated to
out-do the out-doer!"
- rabidstrikes, on 10/12/2007, -3/+9ingo molnar is God..
- h0ly, on 10/12/2007, -2/+9That's pretty damn interesting. I wonder how much it could impact overall performance, since it's so radically different from what we have now.
- phaed, on 10/12/2007, -1/+2Good use of scheduling algorithms be it (FIFO, LILO, RR, Priority, etc...) are key to responsiveness of a system. Throughput might be increased slightly.
- h0ly, on 10/12/2007, -0/+2@phaed:
Any idea on how they intend to measure the impact, in concrete numbers?
I believe there are some test suites, right?
- lnxaddct, on 10/12/2007, -18/+36Considering how digg likes to kiss Shuttleworth's ass at every corner, it is probably worth mentioning that this is Red Hat doing this. Credit should be given where it's due, especially to the people who are really doing the coding... instead of just packaging up other people's work and redistributing it.
- stou, on 10/12/2007, -13/+17Why is Inxaddct getting dugg down? What he says is quite true... do a search for Ubuntu on digg and you get like 130 pages of submits... digg does kiss Ubuntu's ass.... and Ubuntu _is_ basically a repack of Debian... RedHat was one of the original distribution... before all the live-cd kiddies jump on board.
- trogdoor, on 10/12/2007, -4/+22"especially to the people who are really doing the coding... instead of just packaging up other people's work and redistributing it."
You mean like distributions? Like Ubuntu AND Red Hat Enterprise Linux? Don't knock Ubuntu unfairly, they do a good deal of original coding too. - Marthinus, on 10/12/2007, -3/+15Well to me Mark is like the front man of a band, the band needs the front man and the front man needs the band. It rarely happens that the front man can survive on his own and many times the band can can also not survive on its own.
So in the GNU/Linux world I see it the same way, GNU/Linux gains a lot from front men like Mark, Linus etc. but without the backing developers they will have nothing, but the same goes for the developers, without the front men their work will just get lost in the big coding abyss instead of being deployed on numerous desktops and servers. - KoZo, on 10/12/2007, -1/+2Now that's the problem of open source. No one is saying that this is Ubuntu's man, or Red Hat has done nothing. Red Hat and Ubuntu tries to make Linux the best OS there is. Just appreciate each other's existence, and commend all the great coders out there.
- GMorgan, on 10/12/2007, -0/+5Canonical and the Ubuntu community does some work, it's a bit harsh to write them off entirely. Upstart was Ubuntu centric and Jokosher (which will be huge when the latest GStreamer patches are common in distros) was started by a Canonical employee and is developed by mostly Ubuntu users.
Ok they aren't Red Hat but not even Shuttleworth has their resources to throw around. You have to remember that Red Hat bought JBoss for the same amount that Mark Shuttleworth owns. It is simply not possible for Canonical to trade code with them on that scale.
Besides OSS is about community, sharing and standing on the shoulders of giants. Red Hat would themselves agree with this.
- redxii, on 10/12/2007, -21/+3Great.
But that doesn't fix ACPI support.- Urusai, on 10/12/2007, -4/+14Stock FOSS reply: So code it yourself, crybaby.
- ibis, on 10/12/2007, -0/+14Poor ACPI is largely caused by the ACPI standards sucking balls, and none of the manufacturers agreeing on how to implement them. As such each time a manufacturer does something a little bit differently to how everyone else does it, it doesn't work. You don't run in to this in Windows because the manufacturers make the ACPI drivers for their broken implementation.
- philz, on 10/12/2007, -1/+16Want to hear Bill Gates' opinion?
http://antitrust.slated.org/www.iowaconsumercase.org/011607/3000/PX03020.pdf
- NeilSkoglund, on 10/12/2007, -25/+1isnt a task scheduler cron?? whats wrong with cron?
- trogdoor, on 10/12/2007, -0/+13No, it isn't:
http://en.wikipedia.org/wiki/Scheduling_(computing) - senfo, on 10/12/2007, -2/+2With all do respect, cron is, in fact, a scheduler. You could think of it as a task scheduler if you wanted; however, this article in particular is about the task scheduler that the kernel uses to decide how to divide up its time between kernel tasks (it's how multitasking operating systems work). cron, on the other hand, is a completely different kind of scheduler, as it is designed to run user-land applications on a predetermined schedule that is configurable in the crontab.
- GMorgan, on 10/12/2007, -1/+1Cron is a scheduler but it isn't what's referred to with task scheduler. It's similar to the emulation thing, emulation means something very well defined in CS but could be interpreted as anything by a layman which is why it is important for techies to stand by a strong and specific definition of the word so we don't get bogged down in worthless semantics.
There are basically two types of scheduler in the kernel (at the simplest):
1. Job Scheduler
2. CPU Scheduler
Short story. 1 chooses which processes to load from disc into memory and the ready queue. 2 handles which process the CPU takes from the ready queue and loads into the registers for execution.
1. Handles how many processes your computer handles at once and should try to mix things up between IO and CPU bound processes if at all possible.
2. Handles things like priority and time sharing. How often a process gets to use the CPU and for how long.
Anyway this is the end of process scheduling 101. - straxus, on 10/12/2007, -0/+2@senfo
It's "all 'due' respect". I'm not picking on you or anything, just thought you might want to know. - panique, on 10/12/2007, -1/+1cron is not a scheduler. The word "Scheduler" is a term of art, which has a very specific meaning in Computer Science, that being something along the lines of "a part of a multitasking operating system kernel that manages context switching between processing tasks". Thus, the "Scheduler" is likely the most frequently executed portion of code on your computer, getting called hundreds if not thousands of times per second to allow the CPU to process multiple processes concurrently.
cron, at, Windows Task Scheduler, or your own homebrewed application that executes something at a given time of day, or at a specific time interval is not referred to as a "Scheduler". "Execution Scheduler", "Task Scheduler" or "Application Scheduler", maybe. Referring to cron as a "Scheduler" is kind of like calling a Battleship a "boat", so drop and give me 50 n00b. - senfo, on 10/12/2007, -0/+1Not sure why I spelled that "do" and not "due". Idiot spelling mistake!
At any rate, I see the maturity of some of the people in this conversation is rather low. Bottom line is that cron is, in fact, a scheduler. Don't bother me with your misinterpretation from your computer science books; English clearly defines a scheduler without even requiring a CPU, period. I made clear the distinction between cron and a task scheduler in an operating system. Leave it at that.
- trogdoor, on 10/12/2007, -0/+13No, it isn't:
- antechinus, on 10/12/2007, -11/+2Will this improve my Ubuntu recipe database application? I am thinking that the nanosecond clock resolution is not sufficient to cook a turkey.
- simmdawg, on 10/12/2007, -14/+5I hope they fix that part where it never schedules a shower.
- noamsml, on 10/12/2007, -1/+4How will this impact the overall latency of starting applications or other things (in the desktop configuration)?
- bmartin, on 10/12/2007, -0/+5Latency should be lower, but load time will be about the same. At its default settings, the scheduler is optimized for low latency, meaning your programs should be notified to start very quickly, although the amount of time they require to perform the necessary I/O and processing to be displayed will be dependent on the priority they're given at startup.
- panique, on 10/12/2007, -0/+1I think if you really convince yourself your applications are loading faster, then they are. Otherwise, I don't think joe average user is going to see much benefit from this.
- Xuerian, on 10/12/2007, -7/+1Honestly, dugg merely for the use of "Linux", not "Ubuntu". Continue.
- petenutz, on 10/12/2007, -0/+0" It would also allow both types of workloads to share equal
CPU time with better responsiveness for the most interactive one... "
Three cheers fo Ingo! I hate having to try an ssh into a machine that's locked up to kill the offending process....or power cycle :( - mahsah, on 10/12/2007, -4/+0Screw this. I am never giving up my cron :D
- davidrools, on 10/12/2007, -0/+2ummm shouldn't the title say "Linux MIGHT get a new scheduler"? This is just an initial release of something that might be included in a future kernel.
- nemoder, on 10/12/2007, -0/+1Summary for non-geeks:
Ingo: I looked at your ideas and made something cool check it out!
Willy: hey neat, does it really work right?
Ingo: most of the time but it still needs more work. Want to help Con?
Con: wtf, why didn't you just use what I sent you before?
Ingo: It was messy and I didn't like it.
Bill: um, why couldn't you guys work together on this in the first place?
Ingo: I only started on this a few days ago!
Linus: fight! fight! fight! competition brings better code! (but no kicking below the belt plz)
The Digg Toolbar for Firefox lets you Digg, submit content, and keep track of Digg even when you're not on the Digg site. Download the official