How to speed up Boinctasks, especially startup

Started by hucker, May 23, 2022, 06:38:34 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

hucker

My Boinctasks has got slower and slower to start up.  I have a fast CPU (Ryzen 9 3900XT), but Boinctasks maxes out a single core for about 10 minutes to start up.  Assuming there's no intention of multithreading the program, can you tell me what it's doing at startup?  Should I clear out history or something?  What does it load up to begin?  It monitors itself, 2 smartphones, and 6 other Windows PCs.

hucker

I just went ahead and cleaned out the Boinctasks folder under appdata, removing all the history, logs, etc.  Everything but the actual config.  15 minute startup now 15 seconds!  I wonder if that will speed it up during use aswell.

fred

It should never take 15 minutes.
History Smart mode.
In history Move to long term history after 7 days.
Remove history after 14 days.

Logs shouldn't have much impact.

The program is in fact multithreaded for every computer.

hucker

I have history smart mode on already.

I already have it set to move to long term after only 3 days (as it was taking too long to view it on computers that do 1000s of 30 seconds Milkyway units).

I had remove history set to 365 days as I thought long term wouldn't be touched unless I opened it.  I'll reduce that to 14.

I've never seen it use more than one thread in task manager.

fred

Quote from: hucker on May 23, 2022, 01:52:07 PM
I've never seen it use more than one thread in task manager.
Select Performance, at the bottom select Open Resource Monitor.
Look at the Threads column, my computer has 40.
That should force Windows to spread out over all cores, but it's up to Windows to assign cores to a threads.

You can use Process Explorer to get more details.

hucker

I can see 47 just now, but it's not using the CPU much when everything is running.  It's during startup it was taking ages, and that had 4.5% CPU usage, which indicates only 1 of 24 cores.  Perhaps the reading of history is only done in one thread?

fred

Quote from: hucker on May 24, 2022, 12:21:40 PM
I can see 47 just now, but it's not using the CPU much when everything is running.  It's during startup it was taking ages, and that had 4.5% CPU usage, which indicates only 1 of 24 cores.  Perhaps the reading of history is only done in one thread?
Not sure but the History is handled separately by a thread/computer.
Long term memory is intended to lower the load when BoincTasks is running.

hucker

I guess startup must be different and uses one thread to read in all the history to begin with.

Still never found out why the whole program waits for one computer to respond if they're in different threads!  I had to get round it by making them all faster - SSDs/NVMEs and replacement network cables.  A single lost packet and Boinctasks falls asleep.

fred

Quote from: hucker on May 24, 2022, 02:10:25 PM
I guess startup must be different and uses one thread to read in all the history to begin with.

Still never found out why the whole program waits for one computer to respond if they're in different threads!  I had to get round it by making them all faster - SSDs/NVMEs and replacement network cables.  A single lost packet and Boinctasks falls asleep.
A way around this is select one computer or move a bad computer to another group.
The data comes from different threads, but it needs all the selected computers to display.
You can set a connection timeout but there is not guarantee that that works if there is a problem very low in the connection.

hucker

I don't have a particular "bad computer".  Any one of them could have a delay if it decides to load up several vbox tasks at once, even on an SSD.  So short of having a group for every PC, that isn't going to work.

At some point, Boinctasks decides a computer is not responding and gives it a red lightning bolt, and continues to display the rest.  Can it not just do that as soon as one isn't responding?  Can I set a timeout of 1 second somewhere?

fred

Quote from: hucker on May 24, 2022, 03:38:03 PM
I don't have a particular "bad computer".  Any one of them could have a delay if it decides to load up several vbox tasks at once, even on an SSD.  So short of having a group for every PC, that isn't going to work.

At some point, Boinctasks decides a computer is not responding and gives it a red lightning bolt, and continues to display the rest.  Can it not just do that as soon as one isn't responding?  Can I set a timeout of 1 second somewhere?
In the expert setting, connection timeout, mine is 2 seconds.

Did you consider running WSL, that way you can run things like a Linux machine and not in a VBox.
That works on my computer without any problems, on multiple projects.

hucker

I had it on 3, I've changed it to 2.

I absolutely detest Linux.  What does this WSL do?  Are there native versions of Rosetta/LHC/Cosmology that I could then use?

fred

Quote from: hucker on May 24, 2022, 04:30:15 PM
I absolutely detest Linux.  What does this WSL do?  Are there native versions of Rosetta/LHC/Cosmology that I could then use?
I think all VBox applications are native Linux.

WSL is actually not that hard to setup
https://efmer.com/boinctasks/wsl/

And once you are connected to BoincTasks, you can just add a project like your are used to.

hucker

#13
Quote from: fred on May 24, 2022, 02:33:39 PMA way around this is select one computer or move a bad computer to another group.
I cannot find a way to create groups.  I've read the whole manual!  I now have Boinctasks falling asleep again, but I've pinged all the remote computers and nothing loses any packets, which annoyed it before.  The worst is my mobiles on wireless which do ping up to 300ms often, and sometimes 1000ms.  I want to try the phones in another group to see if that helps.  That will then only block that group from displaying and leave the 7 PCs displayed?

fred

Quote from: hucker on July 21, 2022, 04:48:35 PM
Quote from: fred on May 24, 2022, 02:33:39 PMA way around this is select one computer or move a bad computer to another group.
I cannot find a way to create groups.  I've read the whole manual!  I now have Boinctasks falling asleep again, but I've pinged all the remote computers and nothing loses any packets, which annoyed it before.  The worst is my mobiles on wireless which do ping up to 300ms often, and sometimes 1000ms.  I want to try the phones in another group to see if that helps.  That will then only block that group from displaying and leave the 7 PCs displayed?
Go to the Computers tab and click on the group field next to the computer name.
Any name will do as long as the group names are the same, you can make as many groups as you like.

You can also set a group that selects at statup.
https://forum.efmer.com/index.php?topic=780.0