Ubuntu QA:
BlogBrainstormPackage status
Log in
Ubuntu QA
The Ubuntu community has contributed 21549 ideas, 132424 comments, 2606791 votes
Idea sandbox Idea sandbox
Popular ideas Popular ideas
Ideas in development Ideas in development
Implemented ideas Implemented ideas
Idea #21359: A better scheduler for the desktop?

Written by megamanic the 8 Sep 09 at 04:23. Category: Usability. Related project: Nothing/Others. Status: New
Rationale
Con Kolivas is back. (http://linux.slashdot.org/story/09/09/06/0433209/Con-Kolivas-Returns-With-a-De sktop-Oriented-Linux-Scheduler). This means the quality of the default Linux scheduler is coming under the spotlight again.

Now, I have no experience of his work but I´ve also heard of others (http://zen-sources.org/) who are allowing the Kernel to support different schedulers that may not support 4096 processors as well as CFS but do allow Linux to run better on the desktop without hanging at weird/inconvenient times.
Tags: Kernel

178
votes
closed
Solution #1: Ubuntu developers to tweak the kernel to support the desktop user
Written by megamanic the 8 Sep 09 at 04:23.
What I´d like is for the Ubuntu development team to pick the best of breed scheduler for desktop users with 1-8 cores (2xquad core). If that means putting in Zen-sources´ plugable scheduler architecture and allowing boot time changes to the schedler so be it.

When you install Ubuntu the installer knows what you´re running on & what you claim to want to use it for (desktop/server) so it should be able to pick a suitable kernel from at most two or three options with different schedulers.

Now teflon coat on. I´m not saying Con´s scheduler should be put into the kernel. What I´m saying is look at the options and pick the best scheduler for the majority Ubuntu use cases rather than supporting pie-in-the-sky one off exotic hardware.

Propose your solution

Attachments
No attachments.


Duplicates


Comments
andruk (Idea reviewer) wrote on the 8 Sep 09 at 10:37
Corrected numerical error (changed 4092 to 4096) in rationale.

andruk (Idea reviewer) wrote on the 8 Sep 09 at 10:47
My vote would either be to use a pluggable scheduler and swap it out as the demand changes, or find that perfect scheduler that can scale from 1 core to 4096 perfectly. Perfection takes time, and I doubt people are willing to wait that long.

In addition, presuming a good consistent scheduler interface, if somebody does come up with the perfect scheduler, it can be plugged in and used whenever anyway, so there is absolutely *no* downside to using a pluggable scheduler other than the incremental complexity from maintaining a consistent interface and the runtime plugging in/out of schedulers as demand changes.

We already have kernels for desktops/general and servers anyway, so this could simply be one of many differences.

andruk (Idea reviewer) wrote on the 8 Sep 09 at 10:53
Actually, there is an indirect disadvantage to using pluggable schedulers. Con noticed that some video drivers were more prone to race conditions when he used his scheduler, so people will have to put more effort into avoiding race conditions when they code drivers.

On one hand, this forces drivers to be better all-around, but that also has the disadvantage because the drivers will have to be more thoroughly tested and checked, possibly increasing the length of their release cycles.

yzarc wrote on the 8 Sep 09 at 13:22
I don't know whether it's a bug, but my only complain about the responsiveness of ubuntu is when I'm performing a long disk operation. Even having a dual core with lot of memory, the system stuck.

although just one processor is in use, the system take too long to respond. maybe the low priority to long file transfers in Desktop should be implemented since this procedure is rare but remarkable on the desktop use.

Akerbos wrote on the 8 Sep 09 at 15:39
There actually is a perfect scheduler?

;)

shinkanzen wrote on the 9 Sep 09 at 10:26
perfect example of different people at different places have the same idea at the same time! i would say pick the perfect scheduler for desktop use and put it in the kernel for the desktopversion, same for server. makes things easier for the end user, and thats ubuntus goal.


Post your comment