liam_on_linux: (Default)
Liam_on_Linux ([personal profile] liam_on_linux) wrote2025-04-02 11:30 am

Why FOSS OSes often don't have power management as good as proprietary ones

(Especially Haiku.)

It may seem odd but it's not.

Haiku is a recreation of a late-1990s OS. News for you: in the 1990s and until then, computers didn't do power management.

The US government had to institute a whole big programme to get companies to add power management.

https://en.wikipedia.org/wiki/Energy_Star

Aggressive power management is only a thing because silicon vendors lie to their customers. Yes, seriously.

From the mid-1970s for about 30 years, adding more transistors meant computers got faster. CPUs went from 4-bit to 8-bit to 16-bit to 32-bit, then there was a pause while they gained onboard memory management (Intel 80386/Motorola 68030 generation) then scalar execution and onboard hardware floating point (80486/68040 generation), then onboard L1 cache (Pentium), then superscalar execution and near-board L2 cache (Pentium II), then onboard L2 (Pentium III), then they ran out of ideas to spend CPU transistors on, so the transistor budget went on RAM instead, meaning we needed 64-bit CPUs to track it.

The Pentium 4 was an attempt to crank this as high as it would go by running as fast as possible and accepting a low IPC (instructions per clock). It was nicknamed the fanheater. So Intel US pivoted to Intel Israel's low-power laptop chip with aggressive power management. Voilà, the Core and then Core 2 series.

Then, circa 2006-2007, big problem. 64-bit chips had loads of cache on board, they were superscalar, decomposing x86 instructions into micro ops, resequencing them for optimal execution with branch prediction, they had media and 3D extensions like MMX2, SSE, SSE2, they were 64-bit with lots of RAM, and there was nowhere to spend the increasing transistor budget.

Result, multicore. Duplicate everything. Tell the punters it's twice as fast. It isn't. Very few things are parallel.

With an SMP-aware OS, like NT or BeOS or Haiku, 2 cores make things a bit more responsive but no faster.

Then came 3 and 4 cores, and onboard GPUs, and then heterogenous cores, with "efficiency" and "performance" cores... but none of this makes your software run faster. It's marketing.

You can't run all the components of a modern CPU at once. It would burn itself out in seconds. Most of the chip is turned off most of the time, and there's an onboard management core running its own OS, invisible to user code, to handle this.

Silicon vendors are selling us stuff we can't use. If you turned it all on at once, instant self-destruction. We spend money on transistors that must spend 99% of the time turned off. It's called "dark silicon" and it's what we pay for.

In real life, chips stopped getting Moore's Law speed increases 20 years ago. That's when we stopped getting twice the performance every 18 months.

All the aggressive power management and sleep modes are to help inadequate cooling systems stop CPUs instantly incinerating themselves. Hibernation is to disguise how slowly multi-gigabyte OSes boot. You can't see the slow boot if it doesn't boot so often.

For 20 years the CPU and GPU vendors have been selling us transistors we can't use. Power management is the excuse.

Update your firmware early and often. Get a nice fast SSD. Shut it down when you're not using it: it reboots fast.

Enjoy a fast responsive OS that doesn't try to play the Win/Lin/Mac game of "write more code to use the fancy accelerators and hope things go faster".   

gemelen: (Default)

A bit of offtopic, I guess?

[personal profile] gemelen 2025-04-04 06:16 am (UTC)(link)

Not arguing, I just want to share a bit of the history that helps to represent "Moore's Law" slightly better.

And, for sure, I'm using other's materials:

  • Moore was writing about chip complexity / density trends and related economic effects
  • in 10 years, Mead popularize his writings in a simpler form, keeping the 2-year term, though
  • Intel simplified it further, approximating results and shortening each "generation" cycle to 18 nths

Thus, in its original form, Moore's observation had been holding relevance up until about late '00s. And nor that it died because of physical limiations, the world and the market changed significantly. Also, Moore's observations never intended to live for 50 years, he was prognosing about 10 years from 1965, so it's good enough, I'd say.

On my part, it's another simplification of different sources. One could check the better compliation on Wikipedia.

Or watch/listen to (higly emotional) presentation by Bryan Cantrill

andrewducker: (Default)

Re: A bit of offtopic, I guess?

[personal profile] andrewducker 2025-04-06 06:19 pm (UTC)(link)
I am currently running 273 processes. Most of these are using near to zero CPU, but being able to continue to play games (which use multiple cores) while also downloading files and having my antivirus scan run, without any of those interfering with each other, is a great bonus. So I don't find it very convincing that multiple cores aren't useful to have.