Feature Request

Started by DeadHead, October 23, 2014, 03:36:01 PM

Previous topic - Next topic

DeadHead

Downclocking and  "down volting" the cpu while in powersaving mode. I'd guess this is out of the scope of PL, fiddling with hardware, but it would be a nice feature if at all possible. Perhaps through some sort of plugin system?
Windows 10 Pro 64 (swedish) || Xeon 5650 @ +4 GHz || 24 gig ram || R9280 Toxic

BenYeeHua

Hmm, I think you can do that by using EnergySaver, and change into a PowerPlans that is limiting the CPU frequency. ;)

But ya, if you want to let's PL doing what's the ThrottleStop can do, it is too much for it, as it is Ring 0(driver), if I am right. :)

Jeremy Collake

This is something that's been on my radar for the last 9 months or so. Some 'Green' companies have used this as their core business model. They save the planet by downclocking the CPU. The software I analyzed tried to hide what they were actually doing, but it was pretty easy for me to ferret out what they were actually doing. It was in stark contrast to their marketing, which would have claimed their software was magic. It's not software that ever made it to the consumer space, and I think the company is probably out of business now.

I have a lot to say on the subject, but I'll try to boil it down.

My concern is that reducing the CPU frequency does nothing but cause code execution to be slowed. The same amount of code has to be executed regardless. Therefore, it may actually be less energy efficient to downclock the CPU, because the CPU must then remain active for a longer duration.

However, since the high-end of CPU frequency is normally least power efficient, there might be an efficacious middle-ground, where you limit the max CPU frequency to 80% or so.

We won't know if it actually matters at all without testing.

My bet is that with a perfectly tuned algorithm that lowers the CPU clock to the ideal 'sweet spot', power savings will be negligible, if they exist at all.
Software Engineer. Bitsum LLC.

Jeremy Collake

BTW, programatically, this is trivial - and so, for that reason, it is something I may very well offer -- then we'll see how it does in the real world.

Why trivial? Power Plans also a 'max CPU frequency' attribute. Simply reducing that is all it takes to limit the max CPU frequency. So, you end up with a 'Super Power Saver' that maybe has an 80% cap on max CPU frequency, then you use automated induction of that profile.
Software Engineer. Bitsum LLC.

BenYeeHua

Ya, and it might even worst on Ultrabook Processor (like i5-xxxxU), which is depend on Turbo Boost to balance between Processor and Graphic power, as it has a very low TDP.
By setting below 99%, you will just disable Turbo Boost for the CPU... :P

For Intel and Microsoft, they recommend execute the software/tasks together, then fall into Deep sleep is the best way for Power Save.
Except you are doing something that always running CPU nearly non-stop(like gaming), then lower the frequency and increase the time to process will also increase the Power consumption...

DeadHead

Downclocking based on set temp thresholds? :)
Windows 10 Pro 64 (swedish) || Xeon 5650 @ +4 GHz || 24 gig ram || R9280 Toxic

Jeremy Collake

That's something that I've also considered as part of all this.

Modern CPUs will downclock themselves when thermal conditions reach critical. And, short of critical, the temperature doesn't really matter. As long as it's within operating range, it's fine.

Still, there may be edge cases where software controlled, thermal based CPU clock frequency automation is useful, but I don't see broad use.

So, that's my current analysis.
Software Engineer. Bitsum LLC.

BenYeeHua

Based on the temp, sound like a good feature.
As you know, higher temp = more watt for CPU with same speed. ;)

edkiefer

To me this would be its own app, just because of HW oeverhead polling all different values (core temp, TDP etc ) there are now other software that gives warnings for temp .
Intel cpu do extremely good job of downclocking and lowering voltages according to load (don't know on AMD side) , I have hard time seeing where system would be idling but yet doing something with heavy load with no user input . Maybe running folding or something like that but overall I think it be low % .
Bitsum QA Engineer

DeadHead

How much would parking a core affect temperatures (when possible), and/or setting affinities for the highly taxing running program? For example, running something that taxes 4 cores to 100% and after a while reaching a set temp threshold of (for example) 80 degrees, parking one core (loosing performance of course) trying to get the cpu down to let's say 70 degrees, and when reaching that threshold, once again unparking the parked core and gain performance.

Maybe for a separate program like edkiefer said, just throwing ideas out that I've been thinking about for a while.
Windows 10 Pro 64 (swedish) || Xeon 5650 @ +4 GHz || 24 gig ram || R9280 Toxic

DeadHead

Windows 10 Pro 64 (swedish) || Xeon 5650 @ +4 GHz || 24 gig ram || R9280 Toxic

edkiefer

that might work but i wonder how useful it would be if you still leave the load , if you lower cores or clocks its still going to be 100% usage , of course if you clock it low enough were voltage drops, then that would maybe lower temps once it hit a temp limit (say 80c for example )
Bitsum QA Engineer

Jeremy Collake

In the aforementioned article, the user had set a critical temperature threshold at which his system should shut off. That temperature was surely less than what the CPU considered critical. If the PC is properly built and maintained, it should be able to handle a 100% load indefinitely.

I'm not sure core parking has much of an impact on temperature, but, again, the question becomes why it's necessary when these safety systems are built into the hardware.

That said, I won't rule something like this out, if/when I add temperature support to Lasso. It'd be yet another automation function, and there's certainly no harm in offering it.
Software Engineer. Bitsum LLC.

BenYeeHua

Except you are using Core-parking to force park the core(means only use 1 core, while keep the other core always parked no matter how high the CPU usage is), it should not be matter. :)

Neopassive

Please list in the about dialog whether Lasso is running 32 or 64 bit.
8)

Jeremy Collake

Quote from: Neopassive on November 13, 2014, 12:42:07 AM
Please list in the about dialog whether Lasso is running 32 or 64 bit.
8)

It used to be there. I will add it back.
Software Engineer. Bitsum LLC.