BOINC / boinc

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

Default minimal invasiveness for new BOINC installations #2267

Open smoe opened 6 years ago

smoe commented 6 years ago

Hello,

A new installation by default takes all the processors and all the cores that the machine has to offer. The simple view does not allow to change that behaviour.

The effect is that the machine will be noisy or hot or (likely) both very soon. Invasiveness is not only about disturbing other computes. It is also e.g. about noise in a working environment when you had tried to concentrate off-screen or you want to talk to a customer.

Whenever I urge someone to contribute, the first thing we do is to set the number of cores to contribute to one, so the machine is rendered undifferent to before. Everything else is considered unacceptable. It is like a web browser taking 100% CPU time and users don't notice that either.

I should have suggested this years ago and deeply apologize for not having done so. Maybe this is less obvious when one is not "out in the field" so much. Please kindly rest assured that power users who want to contribute more will find those settings.

Summary: Please change default settings to ask only for a minimum. It will pay off.

Cheers,

Steffen

AenBleidd commented 6 years ago

@smoe, I do not agree with such behavior. As for me the better way is to make some kind of wizard that will lead new user through the process of application configuration. From my POV this is ore informative way to let people know what this application really do and let them to decide which settings will fit them best.

lfield commented 6 years ago

I agree with @smoe. The default installation should be minimally invasive. In my view it is better to get someone to contribute and then for them to learn now to use the preferences to provide more computing. I have seen too many times people install, it consume all the machine and then it is uninstalled.

smoe commented 6 years ago

@AenBleidd, if our developing peers are aware of the situation, much is already won. If it is a wizard, or minimal settings plus a wizard that can be canceled - all fine with me. The difficulty for novices is to know upfront about how loud a computer will be under load and how much they (or their office mates) will mind.

I am kind of confident that I can implement this. Tell me if a pull request is wanted.

AenBleidd commented 6 years ago

@smoe, thank you for your answer.

to know upfront about how loud a computer will be under load

Unfortunately, nobody can answer this question because it depends on the hardware installed. E.g. I have several machines, one PC works on 100% load with 2 videocards used for calculations and it is quite silent while another notebook with 50% load is very noisy. Also I found that Intel GPU and AMD GPU under the load is very responsive while nVidia GPU under the load can produce some lags while refreshing desktop.

So my vision of this is to provide a user a detailed information of the settings and their influence (more load - more noisy and less responsive) and give him a possibility to choose what he want.

Also, from my POV, 'Simple view' is what really confuses novices because it is sometimes difficult to understand what's going on and how to control it while 'Advanced View' is better for understanding even for non-experienced users.

Tell me if a pull request is wanted.

I have no influence here to tell what to do and how but due to the policies all work should be done using pull requests only.

Ferroin commented 6 years ago

I would tend to agree with @AenBleidd, the default 'Simple View' is most of the issue. I regularly tell people who are first trying out BOINC to make sure to switch the manager to 'Advanced View' simply because the 'simple' view is TBH nothing more than a bare-bones basic service manager, and then to make sure and go through the computing preferences (and warn them that there will usually be some fine tuning required there to get things to behave exactly how they want them to).

As far as load to noise, this isn't really any different from the discussion in #2215.

smoe commented 6 years ago

@Ferroin, Thank you tons for the reference to #2215. Differences to that a month older thread are

Ferroin commented 6 years ago

There's a potential issue with defaulting to low core counts instead of capping execution time per-core. Most modern x86 CPU's (which dominate the landscape of BOINC) have mechanisms to maximize performance regardless of how many cores are used. The Core-i7 in my primary laptop will run at 2.8GHz if all cores are being fully utilized, but at 3.8 if only one core is being fully utilized and the others are idle, resulting in roughly the same power consumption (and thus roughly the same package temperature and in turn about the same fan speed). If BOINC limits to full utilization on only one core, then it may very well cause just as much of an issue as full utilization on all cores on most systems.

sekerob commented 6 years ago

Defaults [at WCG], and being entirely new, the client is supposed to be set to run according to preferences and use the 'Standard' Presets (there are 4 presets to choose from + 1 custom override). This will pause the client if non-BOINC use of CPU is 50%, and does not use more than 60% of CPU time (to prevent flaring up the computer fan). 50% of CPU timer is best as that will set the run-pause alternation to 1 second running, 1 second cool down. Mostly this is aimed at laptops/mobile devices with ][weak] cooling.

TheAspens commented 6 years ago

The settings at WCG only sort of work. We still get reports of laptops cranking the fan high. We have played around with the settings a lot and we have not been able to find a reasonable default between preventing fans from spinning up and still getting significant contribution. What we really need here is to find a way to extend Peter Hanappe's work on low energy volunteer computing (http://peter.hanappe.com/#project-low-energy-boinc) and avoid triggering either the fan or the higher cpu energy states. At one point there were some settings in Linux that he was looking at, but I don't know where that progressed. I haven't looked into them in 4-5 years (on any platform) so I don't know if anything new is provided by the operating systems but this would be a interesting project for someone to dig into.