BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
2.03k stars 449 forks source link

Standardize compute preference pre-sets #2017

Open davidpanderson opened 7 years ago

davidpanderson commented 7 years ago

GR and Drupal have preferences "pre-sets": named packages of preferences like Maximum computing, Standard, Power saver This should be part of the standard distribution, and should be the default interface (with an "Advanced" button for volunteers who want more control).

So we need to decide what the pre-set names are, and the associated pref sets. I put some very sketchy ideas here: https://boinc.berkeley.edu/trac/wiki/PrefsPresets

davidpanderson commented 7 years ago

I added some proposed settings for the 3 presets: https://boinc.berkeley.edu/trac/wiki/PrefsPresets Comments?

adamradocz commented 7 years ago

Max: If the "suspend when computer in use" and the "suspend GPU when computer in use" values are set to No, than the "in use means no input in X min" option doesn't make sens. It should be ignored or at least should be set to 0.

Green: IMO the differentiation between the green and the standard preset is not enough. In terms of green preset, I'd set the "use at most X% of CPUs" value to 60%.

I think the "Suspend when no input in X min" option should be handled by the OS. I don't see why a computer greener, if it's powered on and idle all day, but doesn't run the BOINC. If somebody cares about the electricity, than it should be suspended or turned off, which is the default option in the Windows.

General In general, the "use at most X% swap file" value should be handled by the OS, or at least should be able to set to 0. I made an issue about it a couple of months ago: #1880

I'm not sure, but maybe the "leave non-GPU tasks in mem" should be set to Yes in all cases. In terms of Max preset, I'd definitely set to Yes as default, and maybe worth to consider the same value for the other presets. The less the "suspend when non-BOINC CPU above" value is, the more frequent will be stopped the tasks.

davidpanderson commented 7 years ago

Thanks!

adamradocz commented 7 years ago

One more thing. Don't you think the 25% value is too low for the "suspend when non-BOINC CPU above" option? Sometimes just the Chrome uses 20-25% CPU time. I think the 50% would be more reasonable.

davidpanderson commented 7 years ago

OK

davidpanderson commented 6 years ago

I added some implementation notes: https://boinc.berkeley.edu/trac/wiki/PrefsPresets

RichardHaselgrove commented 6 years ago

This should most certainly be integrated with presets for 'computer in use' (user active) and 'computer idle' - #41. The comment on 9 Nov - written over a decade ago - refers to single-core computers: valid in its day, but completely irrelevant now. It would also be appropriate to re-visit the rule that you can't snooze (or in this context, exclude from a preset) CPU-only projects by themselves. Whilst it's literally true that a GPU task will use a tiny amount of CPU as well, in the real world users will accept that and distinguish it from the 100% CPU use which affects power consumption, clock boost and other features of 21st century home computers.

brevilo commented 6 years ago

FWIW, the Drupal web frontend also has predefined presets. They come in the following flavors:

Feel free to check them out with your Einstein@Home account.

RichardHaselgrove commented 6 years ago

I added some implementation notes:

https://boinc.berkeley.edu/trac/wiki/PrefsPresets contains the suggestion

proposed presets

implying that %CPUs is more important than the inbuilt throttling implied by %CPU time. I'd agree with that: I use the former, but not the latter, and advised a user accordingly on the BOINC site message board recently.

But another user has pointed out that the dialog for Computing Preferences accessed from the Simple View in BOINC Manager has it the other way round: %CPU time is listed, but %CPUs is nowhere to be seen. Shouldn't we be consistent and swap them over - and should I raise a separate issue to handle it, or can we include it here?