Message boards : BOINC Manager : Feature: usage limits for when computer is in use
Message board moderation
Author | Message |
---|---|
Send message Joined: 2 Mar 06 Posts: 13 |
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 |
Send message Joined: 28 Jun 10 Posts: 2679 |
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. |
Send message Joined: 2 Mar 06 Posts: 13 |
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. |
Send message Joined: 2 Mar 06 Posts: 13 |
... 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>. |
Send message Joined: 2 Mar 06 Posts: 13 |
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. |
Copyright © 2024 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.