Hacker News new | comments | ask | show | jobs | submit login

This is absolutely nuts!

If this result is true, our Linux machines have been wasting 13-24% of our silicon and energy for years (that number is for "typical Linux workloads") because the scheduler fails to fulfill its most basic duty.

The quotes from Linus in the paper just twist the knife.




From the looks of it, this mainly applies if you are running a NUMA system. Which you probably are not. Though it may apply in other places where 'scheduling domains' are used to model hardware (e.g. hyperthreading and maybe big.LITTLE).


> From the looks of it, this mainly applies if you are running a NUMA system. Which you probably are not.

Do you run on a server? Has it been made in the last 3 - 5 years? Then you are running a NUMA system.


maybe they're single core socket server?


So desktop is unaffected?


I imagine it depends on your desktop - I buy a lot more servers than desktops, and care about NUMA because of the effects on VM and JVM behaviour.


From my quick testing (mentioned earlier), I'm not seeing a significant difference on the typical systems we run (1 and 2 node).

I'd find it hard to believe we missed a 13-24% win on all Linux systems anyway. Linux undergoes intense performance analysis, including checking for poor scheduling behavior.

This sounds very much like a bug on 8 node NUMA systems. There's been lots of scheduling bugs over the years.


ISTR something from Google about modifications to their Linux systems to eke out maximum resource utilization [1], so I would not be surprised if changes with this level of impact may exist.

[1] - http://csl.stanford.edu/~christos/publications/2015.heracles...


On systems that have a compute bottleneck, yes. Questions that arise tho are:

* is the system compute bound or io bound? - in the latter case the waste will be smaller.

* How does this compare to other OSes? If it the most efficient available kernel for your workload, compared to other options, it is questionable to say it fails.


You check wether your system in NUMA with `lstopo`.


If the CPU is idle it isn't wasting energy.


The rest of the system is still a (roughly) fixed cost, and a 75% loaded CPU package still consumes more than 75% of the power of a 100% loaded CPU package.


From the linked paper:

"Resulting performance degradations are in the range 13-24% for typical Linux workloads, and reach 138× in some corner cases. Energy waste is proportional."




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

Search: