Gridcoin bounties for implementing BOINC features?

in #gridcoin7 years ago (edited)

I'm well aware that BOINC will not accept any patch related to implementing anything related to crypto in the client. What I mean is that, for example, BOINC lacks a few features, that, while not being to important to the classical boinc contributor, the guy that just leaves it to run when there is only lightweight tasks, BOINC needs more control features. A few ones :

  • Control if you want to compute with GPUs individually. If you have a gt 710 and a gt 750ti (example), you may want to leave the gt 710 crunching while you do any other tasks, it wont take even a full cpu core in most projects.

  • Control the priority/niceness with which projects spawn. In windows, Gpu tasks spawn with below normal priority and cpu with lowest priority. In Linux (and I presume OS X), all spawn with 19 . It would be nice to be able to give gpu tasks maximum priority to the cpu, so you can compute with them without having to disable any core for the cpu computing tasks.

  • Thermal Throttling in the official client would come handy.

  • Being able to specify the platform ( I had a lot of trouble trying to run boinc with opensuse arm because it identified itself as aarch-suse-linux-gnu, and the project wanted aarch-unknown-Linux-gnu . Aside from there being no differences between systems based on the vendor parameter, (the second one), it would be nice to be able to swap it, because it turns out that universe@home runs faster on 32bits mode than on 64bits more (probably because it uses less space on the cpu caches).

  • Adaptive cpu-cores usage. I don't know if it will make a huge difference considering priority is set at minimum, but still, placebo effect is to be taken into account.

And I'm sure that there are many more features that would be useful if implemented, to everyone, not only gridcoin users. That's why having bounties for non-gridcoin features is probably double good, it may attract more boinc users to gridcoin.

So what do you think?

Sort:  
  • It's possible to exclude GPUs using cc_config.xml (exclude_gpu command)
    https://boinc.berkeley.edu/wiki/Client_configuration

  • It's also possible to set process priorities via cc_config.xml (process_priority command). Giving max CPU priority (realtime) to any BOINC tasks is certainly not recommended (almost all GPU tasks use CPU at some point).

  • Thermal throttling looks like a redundant option to me. To lower CPU temperatures, run BOINC on fewer CPU cores. To lower GPU temperatures, I guess it's best to use options provided by your GPU drivers or specialized third-party utilities like MSI Afterburner. Incorporating such functionalities within a BOINC client would probably be a huge task, for very little actual benefits and BOINC isn't really a CPU/GPU tweaking utility anyway.

I knew the first thing, no idea about the second, and you misunderstood the third. What i meant was to set higher priority ti GPU tasks.

Anyway,my point is that there should be a Gui option to do It, making It easier to configure It on the spot.

You wrote "It would be nice to be able to give gpu tasks maximum priority to the cpu" -> don't do that, giving any BOINC task realtime priority is a bad idea. That's probably the reason why it isn't included in the GUI - that way new users can't hang their OS after some clueless tinkering.

Yes, I agree. But having GPU run at niceness -10 or even just -1 will do no harm. Just limit it

Definitely a good idea. Like the CPU usage % option under computing preferences. Is there an actual command line option to limit GPU usage?

I love this idea and fully support it.

I think we would need in depth bounty requests put together and presented to both GRC and BOINC communities in the coming months.

Personally, I won't be able to help that much until after the new year.

Some of these might be general points we can add to the coming 2018 roadmap. Something like "Release BOINC Bounty Batch #1" where we group together some tasks that are determined to be highest priorities in the GRC community (after all, that's where the funding will be coming from) and collect donations for bounties agreed upon by the community.

If you put together a list of 10-20 improvements and detail them a bit, I or someone from the community will be happy to make a poll in the GRC client to get the discussion going and to help identify priorities.

Again, great idea!

Steemit note: it's annoying, but if you want greater visibility on your post, you should add an image anywhere in the post. Steemit will use this image to make a thumbnail.

Thanks for the tip. And yeah, I might write a manifest if more interesting ideas pop up and I come up with some more.

Because of the open source nature of Boinc everyone (who has the programming skills) could fork the actual version of Boinc, write a "GRC version" and publish it beside the original version.
Similar to e.g. all the alternate viewers for "Second Life" where you have the original version from Linden Labs and a lot of alternate versions with different/more/other functions.

Yes, but I, and many people think that the smaller the scope of gridcoin, the better.

It might be worth revisiting what "Gridcoin" without the "coin" could mean for BOINC =).

Thermal Throttling in the official client would come handy.

You can use 'tthrottle' to do this for BOINC.

BOINC Development bounties

IMO It'd be great if we could allocate bounties to BOINC github issues/projects, say a couple hundred dollars worth of GRC (depending on severity/importance of the dev item), it'd require escrow of some sort and for the devs to be aware of GRC & accept it for completing dev work - it'd likely need David Anderson's blessing too.