Linked by Thom Holwerda on Tue 16th Nov 2010 22:48 UTC, submitted by Michael
Linux "In recent weeks and months there has been quite a bit of work towards improving the responsiveness of the Linux desktop with some very significant milestones building up recently and new patches continuing to come. This work is greatly improving the experience of the Linux desktop when the computer is withstanding a great deal of CPU load and memory strain. Fortunately, the exciting improvements are far from over. There is a new patch that has not yet been merged but has undergone a few revisions over the past several weeks and it is quite small - just over 200 lines of code - but it does wonders for the Linux desktop."
Permalink for comment 450369
To read all comments associated with this story, please click here.
RE[3]: Comment by tetek
by Brendan on Wed 17th Nov 2010 21:14 UTC in reply to "RE[2]: Comment by tetek"
Brendan
Member since:
2005-11-16

Hi,

I don't know if Linux is more efficient than Windows in HPC, but the article you linked doesn't say much either.


For HPC there's a tendency to split a large amount of work into "one piece per CPU". This makes the scheduler mostly irrelevant (it's simple to decide which piece of work the CPU should be doing when there's only 1 piece of work the CPU can be doing). The performance difference probably comes from something else (e.g. maybe Linux has more efficient networking).

When you're running a wide variety of different tasks (with different characteristics), then the scheduler becomes important. I've said for a long time that the scheduling in Linux is flawed, because most processes can't tell the scheduler anything about their characteristics, and therefore the scheduler doesn't have the information needed to make good decisions.

In contrast, there's lots of OSs that are better for desktop interactivity than Linux (including Windows) because tasks/processes do tell the scheduler something about their characteristics. For example, for Windows there's a "priority class" and a "base priority" within that class. For Linux there is a "scheduling class" (but the same scheduling class is used by almost everything and doesn't allow for the equivalent of a "base priority").

This patch helps to hide a symptom of the problem (and helps to illustrate how bad the problem is), but hiding symptoms isn't the same as finding a cure.

- Brendan

Reply Parent Score: 3