Feature: usage limits for when computer is in use

Message boards : BOINC Manager : Feature: usage limits for when computer is in use
Message board moderation

To post messages, you must log in.

AuthorMessage
Ant Evans

Send message
Joined: 2 Mar 06
Posts: 12
Germany
Message 98327 - Posted: 4 May 2020, 17:12:19 UTC

The BOINC client has settings to limit the number of cores and the CPU time. It allows for the suspension of computation while the computer is in use.

There is an implied asssumption that users who want to reduce resources available to BOINC while they're busy on the machine want to suspend BOINC completely. I have found that assumption not to hold in various use cases. I want to slow BOINC down, not stop it. But I don't want to slow it down all the time. I also don't want to fiddle with settings in normal use.

My requirement is to be able to set the number of cores available to BOINC according to whether the computer has a user active. Others may care more about a CPU time limit.

I have done this in the past by scripting, involving copying xml files and using boinncmd to update the client, all triggered by OS events. I don't recommend this.

So the suggestion is to bifurcate the available settings, creating two new ones.

global_prefs.xml
to <cpu_usage_limit> add <cpu_usage_limit_if_user_active>
to <max_ncpus_pct> add <max_ncpus_pct_if_user_active>

The 'user active' system trigger/state seems to work and wouldn't need to change. In the Manager, you'd want to split the Computing Preferences -> Usage Limits boxes vertically to add the new settings.

Apologies if it's already under development or has been discussed to death. All I could find was https://boinc.berkeley.edu/forum_thread.php?id=11471&postid=75964
ID: 98327 · Report as offensive
Profile Dave

Send message
Joined: 28 Jun 10
Posts: 1339
United Kingdom
Message 98331 - Posted: 5 May 2020, 7:27:48 UTC - in response to Message 98327.  

My ideal would be to reduce the number of cores's BOINC uses progressively depending on what other things are making demands on the engine. On the laptop, reducing number of cores being used according to temperature would be good too but I suspect not as easy to implement.

As it is, I shall for the foreseeable future stick to micromanagement of my machines.
ID: 98331 · Report as offensive
Ant Evans

Send message
Joined: 2 Mar 06
Posts: 12
Germany
Message 98336 - Posted: 5 May 2020, 16:58:25 UTC - in response to Message 98331.  

For temperature you want TThrottle, unless you run an AMD CPU. It hasn't been maintained for a few years but it is still excellent. Trying to accommodate the various non-standards involved in temperature reporting is not something you would want to wish on the BOINC team.

Apparently some motherboards can do that.

I should have mentioned that even with the non-zero computer-in-use core count I described, you would still want the 'suspend when non-BOINC CPU usage is above X' setting.
ID: 98336 · Report as offensive
Ant Evans

Send message
Joined: 2 Mar 06
Posts: 12
Germany
Message 98423 - Posted: 10 May 2020, 17:20:52 UTC - in response to Message 98336.  

... on the other hand, to add simplicity, if you could scale back core count when a user is active rather than having a Boolean choice as is the case today, you could get rid of the 'Suspend when computer is in use' checkbox, at least in the Manager. That's because you could limit the number of cores conditionally to zero.

I think that corresponds to <run_if_user_active>1</run_if_user_active>.
ID: 98423 · Report as offensive
Ant Evans

Send message
Joined: 2 Mar 06
Posts: 12
Germany
Message 99278 - Posted: 13 Jun 2020, 12:20:34 UTC - in response to Message 98336.  

Turns out my own motherboard can police a max CPU temperature. Imagine my surprise.

It's an Asus B350 (AMD AM4) from 2018ish, updated a few times. (The option is buried three layers deep in the BIOS settings. Along with a few other things like ECC, it probably wasn't there when I bought the board.)

A BIOS max CPU temp is brilliant for BOINC. I set the max CPU temp to 50 degrees, no software needed. The machine throttles itself by changing the clock multiplier.

Make sure your cooling is up to snuff or you may get radical reductions in speed, way below what the power drivers usually alllow. For the same reason, I wouldn't choose a silly low number.
ID: 99278 · Report as offensive

Message boards : BOINC Manager : Feature: usage limits for when computer is in use

Copyright © 2021 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.