Linux: any chance to let CPU in lowest power state?

Message boards : Number crunching : Linux: any chance to let CPU in lowest power state?
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Dentaku
Avatar

Send message
Joined: 24 May 99
Posts: 26
Credit: 72,931
RAC: 0
Germany
Message 1583226 - Posted: 8 Oct 2014, 0:17:31 UTC
Last modified: 8 Oct 2014, 0:18:10 UTC

Well, the BOINC client can be configured to use only x % CPU. But this is a fake software workaround as it just activates the client x % of time leading to 100-x % time no CPU usage and x % time 100% CPU usage. And the 100% CPU usage means 100% GHz when using "demand" setting, i.e. dynamic GHz setting.

I read about Linux configuration to change some system file to stay in low power (low GHz) mode for "nice" processes. But don't want to change a system file and I don't want to change such a system setting that is affecting _all_ such processes (not only BOINC processes).

Is there another way to have BOINC running but keep the CPU in low GHZ AMD power setting (Cool & Quiet) all the time?
Join team KRAFTWERK - all BOINCers welcome! :-)
ID: 1583226 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1583234 - Posted: 8 Oct 2014, 0:42:57 UTC

Perhaps using cpufreq-selector will provide the results you would like?
http://setiathome.berkeley.edu/forum_thread.php?id=45830&postid=725163#725163
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1583234 · Report as offensive
Profile ausymark

Send message
Joined: 9 Aug 99
Posts: 95
Credit: 10,175,128
RAC: 0
Australia
Message 1583272 - Posted: 8 Oct 2014, 3:05:26 UTC - in response to Message 1583226.  
Last modified: 8 Oct 2014, 3:09:06 UTC

There are two ways to do it.

Tell BOINC to use a percentage of your CPU cores with the "On Multiprocessor systems, use at most x% of the processors". So, assuming you arent hyperthreading, set this at say 50% to reduce your overall processor power demands by half. (If the cpu does do hyperthreading then the setting should be 25%)

The second is the "Use at most: % CPU time" that does something similarly to the above, just a different way.

Using these two should allow you to throttle down how much processing your cpu does, and hence power consumption.

On a side note: Having the CPU in its lowest power state would do minimal to no work - you really want something that has a light CPU load and just let the CPU decide the power state.

Cheers
ID: 1583272 · Report as offensive
Profile Dentaku
Avatar

Send message
Joined: 24 May 99
Posts: 26
Credit: 72,931
RAC: 0
Germany
Message 1588006 - Posted: 16 Oct 2014, 21:49:17 UTC
Last modified: 16 Oct 2014, 21:58:58 UTC

@HAL9000: nope, I already have a freuency selector, but don't want to change this all the time manually. I also don't want all-or-nothing. Instead I just want BOINC to keep the power state in the lowest setting.

@ausymark: that's not true: if I set set the freuqncy to "powersave" (in my case 1.7 Ghz which is the lowest selectable frquebcy) the work units get finsihed much faster than the max 5% CPU usage I set in the BOINC client! I found 5% is the maximum to let my computer "warm" and not hot. With the minimum power state of 1.7 GHz, the computer does get even colder than 5% of the time at full 3.7 GHz.

The problem is, that I still want to power state in "on demand", so that all my other Apps get the full frequency power of the CPU. I want BOINC running all the time in the background - but without letting the CPU using higher frequency but stay in it's lowest "on demand" frequency. When I start another app, this should behave normally, meaning: power state should be able to increase if these apps demand more CPU power.

So far, I just read about Linux system configuration to force all "nice" threads to not increase the CPU frequency. But this change would force _all_ nice threads to not use the full CPU power.

The only workaround I use so far is, to manually set the power state to "powersave", start BOINC and stay with the lowest freuqncy for the other Apps I'm running during computer usage. If I want full CPU power, I exit BOINC and switch back to "on demand". Of course, I don't want to do this all the time.
Join team KRAFTWERK - all BOINCers welcome! :-)
ID: 1588006 · Report as offensive
Profile ML1
Volunteer moderator
Volunteer tester

Send message
Joined: 25 Nov 01
Posts: 20283
Credit: 7,508,002
RAC: 20
United Kingdom
Message 1588047 - Posted: 17 Oct 2014, 0:17:13 UTC - in response to Message 1588006.  
Last modified: 17 Oct 2014, 0:18:04 UTC

... The problem is, that I still want to power state in "on demand", so that all my other Apps get the full frequency power of the CPU. I want BOINC running all the time in the background - but without letting the CPU using higher frequency but stay in it's lowest "on demand" frequency. When I start another app, this should behave normally, meaning: power state should be able to increase if these apps demand more CPU power.

So far, I just read about Linux system configuration to force all "nice" threads to not increase the CPU frequency. But this change would force _all_ nice threads to not use the full CPU power. ...

And there you have a conflict of wishes...

I believe that the normal powersave power schemes ignore "NICE 19" low priority tasks and stay in the low power mode.

However, some Boinc users complained about that and so Boinc uses a higher background task priority that since then now kicks in the full CPU speed?


You could create/save your own power scheme whereby you can set whatever CPU frequency you wish...


Happy cool crunchin',
Martin
See new freedom: Mageia Linux
Take a look for yourself: Linux Format
The Future is what We all make IT (GPLv3)
ID: 1588047 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1588058 - Posted: 17 Oct 2014, 0:35:25 UTC - in response to Message 1588047.  

... The problem is, that I still want to power state in "on demand", so that all my other Apps get the full frequency power of the CPU. I want BOINC running all the time in the background - but without letting the CPU using higher frequency but stay in it's lowest "on demand" frequency. When I start another app, this should behave normally, meaning: power state should be able to increase if these apps demand more CPU power.

So far, I just read about Linux system configuration to force all "nice" threads to not increase the CPU frequency. But this change would force _all_ nice threads to not use the full CPU power. ...

And there you have a conflict of wishes...

I believe that the normal powersave power schemes ignore "NICE 19" low priority tasks and stay in the low power mode.

However, some Boinc users complained about that and so Boinc uses a higher background task priority that since then now kicks in the full CPU speed?


You could create/save your own power scheme whereby you can set whatever CPU frequency you wish...


Happy cool crunchin',
Martin

In BOINC were to be started at the lowest priority would the child processes also be in that lower priority like in Windows?
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1588058 · Report as offensive
Josef W. Segur
Volunteer developer
Volunteer tester

Send message
Joined: 30 Oct 99
Posts: 4504
Credit: 1,414,761
RAC: 0
United States
Message 1588122 - Posted: 17 Oct 2014, 4:00:47 UTC - in response to Message 1588058.  

... The problem is, that I still want to power state in "on demand", so that all my other Apps get the full frequency power of the CPU. I want BOINC running all the time in the background - but without letting the CPU using higher frequency but stay in it's lowest "on demand" frequency. When I start another app, this should behave normally, meaning: power state should be able to increase if these apps demand more CPU power.

So far, I just read about Linux system configuration to force all "nice" threads to not increase the CPU frequency. But this change would force _all_ nice threads to not use the full CPU power. ...

And there you have a conflict of wishes...

I believe that the normal powersave power schemes ignore "NICE 19" low priority tasks and stay in the low power mode.

However, some Boinc users complained about that and so Boinc uses a higher background task priority that since then now kicks in the full CPU speed?


You could create/save your own power scheme whereby you can set whatever CPU frequency you wish...


Happy cool crunchin',
Martin

In BOINC were to be started at the lowest priority would the child processes also be in that lower priority like in Windows?

BOINC defaults to always setting the science application priority, but a <no_priority_change>1</no_priority_change> option can be put into cc_config.xml (or BOINC can be started with a --no_priority_change command line argument). With that, the science application will inherit BOINC's priority on Windows and Linux.

For Linux, BOINC normally starts CPU applications at NICE 19, GPU applications at NICE 10 according to current source code. There was some discussion about changing the CPU setting to less nice, but AFAICT that wasn't implemented. Someone running Linux could check...
                                                                  Joe
ID: 1588122 · Report as offensive
Juha
Volunteer tester

Send message
Joined: 7 Mar 04
Posts: 388
Credit: 1,857,738
RAC: 0
Finland
Message 1588451 - Posted: 17 Oct 2014, 20:02:01 UTC - in response to Message 1583226.  

What non-BOINC niced programs do you have running that you need to run as fast as possible? I mean, you are supposed to nice unimportant background tasks for which it doesn't matter how long it takes to run the task.

Looking at my own box, I have a few non-BOINC programs with nice>0. Two of them look unimportant to me, one of them is used but should run only for a very short time when needed.

Firefox and Opera(=Chromium) have some niced threads. I don't know what exactly those threads do. They haven't used all that much CPU time though. And I think there's a fairly good chance that when those threads have work to do the rest of the browser process has already bumped the processor into higher power state.
ID: 1588451 · Report as offensive

Message boards : Number crunching : Linux: any chance to let CPU in lowest power state?


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.