How does BoincTask hook into Boinc Manager to control max tasks?

Started by Keith Myers, August 28, 2017, 04:00:45 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Keith Myers

This going to be a lengthy post. I have been fighting limited downloads for at least 6 months on the Seti project.  I have dozens of dozens of posts across the Number Crunching forum with advanced and experienced members trying to help me solve my problem of limited task downloads on all of my four crunchers.  I have tried innumerable fixes and suggestions and nothing has seemed to have an effect.  The maximum download I have ever received was a 22 task download.  More common were 14 task downloads.  While all my friends were getting downloads typically in the hundreds or at minimum 50 tasks at a time, I always struggled to rebuild my cache after the regular Tuesday outage or when I have rescheduled tasks and should have filled an empty CPU cache of 100 tasks on first request.  I always only got typical downloads of 14 tasks at a time which meant it might be an hour at minimum to rebuild my caches.  On my fastest crunchers, I should have a minimum of 400 tasks on board at all times. Since I run one cruncher on the special linux app, I could be down 200 tasks in an hours time.

Finally today, one of my close forum friends found a PM conversation that had me change some settings in BoincTasks back in May.  He had me look at the eFMer directory and look for the file named config.xml which he said BoincTasks uses to limit the maximum tasks that are allowed.  The file was in the /Examples directory and has a default max task count set to 5000 on his machine.  I looked for mine and saw the same.  The file says that for it to be active it has to be placed next to the BoincTasks executable which is one directory up in level.  I looked for this file and did not find it.  However, I did find a file named config.xml.old and after opening it I discovered the max task setting set to 400 tasks.

So after posting of my find, it was suggested to delete it along with a file named config.editor.xml.  I did so and exited BoincTasks and then restarted BoincTasks.  Immediately, the linux box downloaded 150 tasks on the next request and the following request snagged 50 or so.  I thought that finally my issue had been resolved.  However, the Windows7 daily driver which hosts the actual BoincTasks program that monitors all my crunchers was still only getting 14 task downloads when it needed more than 50 to get it back to normal cache levels.  Finally I exited BoincTasks completely by rebooting the computer and the next request on the BoincTasks host computer snagged a 35 task download that completely filled back to my cache level.

So, we are wondering where and how does BoincTasks intercept the Manager - Scheduling server communications to enforce its max task limit.  It is not exposed anywhere in the Manager or Client or cc_config.xml.  And why would config.xml.old be able to effect the same changes that the proper config.xml file is supposed to do.

We are interested in how my problem occurred and why so that we might be able to help others that could be affected by my obscure and very frustrating problem.

TIA.  Keith

fred

BoincTasks simply sets no more work on the computer that reaches the maximum number of tasks. By giving the BOINC client a no more work instruction.
So this will NOT get you any more work.

If you don't get enough work check BoincTasks -> Extra -> BOINC preference
In the network tab set Minimum work buffer to 10 and the Additional work buffer to 10.
Repeat for all computers.

The only way I know to get more work on a single computer is by starting multiple BOINC clients.
https://efmer.com/linux-running-multiple-boinc-clients/
This is a great way to get plenty of work.

I see you reschedule work, that is a great way to mess things up and may be the cause of your problems.

Keith Myers

Hi Fred, I guess I somehow didn't explain things clearly to you.  I have no issues getting my maximum allowed work based on my hardware. That is 100 tasks per CPU and 100 tasks per GPU.  What I have had issues with is the quantity of tasks per download request received. I never received more than 22 tasks per request on any machine with more typical downloads falling in the 10-14 task per download.  That is even with 0 tasks in the caches because they had already been processed on Tuesday during the long outages.  Everyone else would get hundreds of tasks per download after the project comes back online after Tuesday and would fill their caches with only a couple of server scheduling requests.  I would get only 10 tasks and would take easily over an hour to rebuild my caches on each machine.

There are literally dozens of us rescheduling and not having any issues getting work when it is available.  That is not the problem.  The problem came from the config.xml.old file in the BoincTasks directory.  What we needed to find out is how BoincTasks implements the max task limit.  It seems you are saying that it sets No New Tasks via the client?  Would that have been reflected in the Manager in the Projects tab?  Wouldn't that have written the NNT setting into the log?  I never saw either of those occur unless I myself set NNT.

I have resolved my problem by deleting the config.xml.old file and the config.editor.xml file.  No other changes to the client, Manager or BoincTasks made and immediately my next request for work got me 149 tasks and the following one got 54 tasks.  I was simply asking how the .old file was causing the issues since it really wasn't the config.xml file like the file in the /Examples directory.

fred

config.xml.old does nothing at all it isn't read. So this CAN NOT effect your system.

You can delete config.xml this will bring things back to the default settings. But only after you restart BoincTasks.
Doing so a system might get stuck in No New Work in the properties tab.

The task limit is indeed regulated by No New Tasks and this should show up in the BOINC client log and shown in the Project tab and logged in the BoincTasks log.

The config.editor.xml editor file does nothing except checking the syntax if you use the BoincTasks edit config file dialog. So there is no need to delete this file.


in the BOINC CLIENT FOLDER:

What might effect things are
max_file_xfers
or
max_file_xfers_per_project
in <options>
That is in the BOINC client folder config.xml

To be sure any changes to the BOINC client xml file take effect after restarting the BOINC client or the system.

Keith Myers

Thanks for the confirmation about how BoincTasks implements the task limit via NNT.  That is what we suspected.  I also would have thought that an obvious "backup" file of the original config.xml configuration file shouldn't have been able to affect anything.  I wonder where the original file went.  I certainly had no conscious effect on it as I didn't even know the directory or files existed until I was told to go look for it.  Chalk it up to mysterious consequences.  I have had this issue for over 6 months and not one of the experts in the Number Crunching forum ever found anything wrong with my settings on any of my computers.  They had given up trying to determine why my systems never downloaded anything other than in small amounts.  They just said I was under the influence of bad "juju" or whatever and I was an easy butt of a joke.  All I know is that as soon as that file was deleted all my systems got huge downloads that filled me back in up in just a couple of requests instead of the usual hours worth of dribbles.

Consider the problem resolved but not understood.  Thanks.