Limit the number of downloaded tasks for a single BOINC project

Fardringle

Diamond Member
Oct 23, 2000
9,188
753
126
I'm pretty sure I've seen instructions how to do this before but I can't find it now and my Google search skills are failing me.

I want to dedicate one of my computers to "begging" for work from a few small projects that only have intermittent work available, and then when work is available to download as much as it can possibly get without exceeding the project deadlines. That part is pretty easy. I just set them all to high priority and tell the BOINC client to try to download several days worth of work.

But I also want to have a backup project that always has work available so that the computer doesn't sit completely idle when it doesn't have any work from the little projects. The problem is that the BOINC client also tries to download several days of work for this project, which means that it fills up the work queue and then doesn't even try to get work from the little projects. So what I want to do is tell the BOINC client to only download enough work from this project to keep the computer busy (the same number of tasks as the number of CPU threads, for example) and nothing more than that, so that even while it is crunching for this project, it will still keep begging for work from the other projects.

I would expect to put something in the app_config.xml file for the backup project, but I looked through the Wiki instructions and don't see anything that will work. The <project_max_concurrent>N</project_max_concurrent> option is similar, but I don't want to limit how many tasks are actively running, just how many are downloaded. A few projects have options on their preference pages, but this project doesn't have that option.

Any suggestions?
 

StefanR5R

Elite Member
Dec 10, 2016
5,515
7,822
136
A few projects have options on their preference pages, but this project doesn't have that option.
Yep, if this backup project had an option on its website to limit the number of tasks in progress, you'd be in luck.

Otherwise, the next best thing is to set this project's resource share to 0.

(This may still not work as intended if we are talking about a GPU project here. In that case, I suspect you may additionally need an app_config.xml in which <avg_cpus> of the GPU appversion is set to 1.)
 

Fardringle

Diamond Member
Oct 23, 2000
9,188
753
126
I tried setting resource share to 0, but it still downloaded a full queue for that project. :(

It's a CPU project.
 

StefanR5R

Elite Member
Dec 10, 2016
5,515
7,822
136
Strange. Which client version is it?
Are there other projects (with >0 resource share) set to 'allow more work' on the client?

Or did the client maybe request work *before* it received the new 0 resource setting from the project server?
 

Skillz

Senior member
Feb 14, 2014
927
953
136
Setting the resource share to 0 SHOULDN'T let you download more work than what you can process immediately.


Another option, untested, is to setup a second BOINC instance. Have it set to run your "backup" project, but set it to suspend if non-BOINC CPU usage reaches a certain %. Set that number to something slightly higher than what your computer would otherwise idle with.
Since it's a second instance, it SHOULD see the CPU usage raise from the primary (or second) instance and suspend the work since it's not from the parent instance.
I have not tested this, so I do not know if it will work, but in theory it should.
 

Fardringle

Diamond Member
Oct 23, 2000
9,188
753
126
It's the BOINC client version 7.16.6 in Linux Mint.

The backup project is set to 0 priority, but it definitely downloads way too much work to just be a backup.

On the way home just now I was thinking about doing the dual client setup. I've never set up multiple clients in Linux but I have done it in Windows and I know there are instructions for Linux around here somewhere so I might give that a try. Thanks. :)
 

Fardringle

Diamond Member
Oct 23, 2000
9,188
753
126
OK. I feel really silly now.

I DID create a new location profile on the backup project and I set the project priority to 0 on that location, but I forgot to put that computer in the new location profile, so it was still using the default priority of 100. I need to wait for it to finish working through the rest of the two days worth of unwanted tasks that it downloaded this morning, but at least for now it's not trying to get more work from that backup project and it is making requests for work from the intermittent projects, so hopefully that's a good sign.
 

Fardringle

Diamond Member
Oct 23, 2000
9,188
753
126
The more that I stare at that ridiculous goose picture, the more I'm tempted to use it as my avatar in place of the cow that I've had since I first joined Anandtech...

On a more relevant note, that computer is behaving properly now that it actually has the project priority set to 0 and it finished working through the tasks it had downloaded. :D
 

Skillz

Senior member
Feb 14, 2014
927
953
136
Fardringle seems like a fitting name for a Goose anyway.

If there were a duck like Pokemon I'm sure Fardringle would be it's name.