Why does BOINC take tasks in advance?

Message boards : Questions and problems : Why does BOINC take tasks in advance?
Message board moderation

To post messages, you must log in.

AuthorMessage
Aleksey

Send message
Joined: 22 Apr 20
Posts: 4
Message 97957 - Posted: 22 Apr 2020, 9:50:59 UTC
Last modified: 22 Apr 2020, 9:54:32 UTC

I noticed that BOINC client takes new task even current running task are not completed yet.
For example, I have 4-core CPU and Computing Preferences: Use at most 50% of the CPUs.
So, it is supposed to have the only 2 active tasks the device can compute simultaneously.
At the start, the client takes 2 tasks to compute. It's ok.
But at the next day it takes 1 extra task, while previous are not completed yet.
As a result I have 2 computing tasks (and will be computing at least couple of days) and 1 in Ready to start status.
But it have no sense! The pending task will never be computed in a scheduled time. In fact, it probably will be started after the deadline comes.

How can I disable taking tasks in advance by BOINC client/BOINC manager?
---
BOINC Manager 7.14.2
BOINC Client 7.14.2
Debian 10 (x64)
ID: 97957 · Report as offensive
Bryn Mawr
Help desk expert

Send message
Joined: 31 Dec 18
Posts: 284
United Kingdom
Message 97966 - Posted: 22 Apr 2020, 11:42:10 UTC - in response to Message 97957.  

I noticed that BOINC client takes new task even current running task are not completed yet.
For example, I have 4-core CPU and Computing Preferences: Use at most 50% of the CPUs.
So, it is supposed to have the only 2 active tasks the device can compute simultaneously.
At the start, the client takes 2 tasks to compute. It's ok.
But at the next day it takes 1 extra task, while previous are not completed yet.
As a result I have 2 computing tasks (and will be computing at least couple of days) and 1 in Ready to start status.
But it have no sense! The pending task will never be computed in a scheduled time. In fact, it probably will be started after the deadline comes.

How can I disable taking tasks in advance by BOINC client/BOINC manager?
---
BOINC Manager 7.14.2
BOINC Client 7.14.2
Debian 10 (x64)


In you computing preferences there are two relevant settings, keep at least n days and keep at most x days extra. These define how much of a buffer you want to keep in case of server and/or network problems.

Set these to a very low number, maybe 0.1 days, and your deadline problems should go away.
ID: 97966 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15478
Netherlands
Message 97973 - Posted: 22 Apr 2020, 15:47:45 UTC - in response to Message 97957.  

Which project(s) are you running that you have such short deadlines? And on what kind of CPU? Is it that slow?
Usually BOINC preloads a new task when it knows it'll finish one of the other tasks so it doesn't have to wait for loading them again when one of the tasks finishes.
ID: 97973 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5077
United Kingdom
Message 97979 - Posted: 22 Apr 2020, 18:27:54 UTC

If you set your cache levels to the absolute minimum (0+0 days), BOINC will start requesting a new task three minutes before the previous task is estimated to finish. That's to allow time for connection, the scheduler request to complete, and any files needed for the next task to download. (BOINC still thinks at dialup speeds)
ID: 97979 · Report as offensive
Aleksey

Send message
Joined: 22 Apr 20
Posts: 4
Message 97980 - Posted: 22 Apr 2020, 18:29:19 UTC

Bryn Mawr: thank you so much! Indeed, there was 'Store up to an additional 0.5 days of work' parameter. I decreased it to 0.1 and hope this helps.

Jord: Yes, the CPU is really no so fast, because it's low-power Intel Celeron J3455. The core of NAS device with no fan configuration. It mostly idle, so I decided to add some work to it.
ID: 97980 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15478
Netherlands
Message 97982 - Posted: 22 Apr 2020, 18:39:04 UTC - in response to Message 97980.  

A 2.3GHz CPU isn't really slow. Again, what project or projects are you running?
ID: 97982 · Report as offensive
Aleksey

Send message
Joined: 22 Apr 20
Posts: 4
Message 97992 - Posted: 23 Apr 2020, 6:48:43 UTC

Jord, Rosetta@Home project.
Well it's actually 1.5Ghz (base) CPU.
Yes, theoretically it can rise up frequency up to 2.3GHz, but it's only possible in 1-core workload. Meanwhile, BOINC run 2, and there is a few extra processes. So, I never saw 2.3MHz.
ID: 97992 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15478
Netherlands
Message 97995 - Posted: 23 Apr 2020, 11:37:31 UTC - in response to Message 97992.  
Last modified: 23 Apr 2020, 11:44:55 UTC

Rosetta's got an option to set the wanted run time of tasks, via their project preferences https://boinc.bakerlab.org/rosetta/prefs.php?subset=project.
I run Rosetta on several relatively slow Android devices and set for them to use 2 hour tasks. They manage to run those easily within the set time. Perhaps an idea for your device? (Target CPU run time, default 8 hours)

Edit:
- One of my Android devices runs a quad core 1.7GHz CPU. It runs Rosetta tasks in 1h 14m.
- Another Android device uses a quad core at 1.4GHz, it runs Rosetta tasks in 3 hours.
ID: 97995 · Report as offensive
Aleksey

Send message
Joined: 22 Apr 20
Posts: 4
Message 97998 - Posted: 23 Apr 2020, 13:04:24 UTC - in response to Message 97995.  

Thank you for the idea!
Now it has the default value (8 hours). But I see that the remaining time for the last task is about 24 hours (with deadline 26th of Apr). And according to my previous observations the real completion time can be multiplied by 1.5 :)
ID: 97998 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15478
Netherlands
Message 97999 - Posted: 23 Apr 2020, 13:09:07 UTC - in response to Message 97998.  

Great! Do know that the run time is still an estimate, they can take longer. But not much. The deadline will also go down though, to just 3 days on the 2 hour tasks.
ID: 97999 · Report as offensive
Profile WeAreHugh

Send message
Joined: 19 Apr 20
Posts: 2
United States
Message 98505 - Posted: 14 May 2020, 22:22:41 UTC - in response to Message 97957.  


    1) Go to the Project tab
    2) Select the project you want to stop taking new tasks
    3) On the "Commands" column on the left, click on "No new tasks" right under "Suspend"


The "No new tasks" button will change to "Allow new tasks". Click this to start accepting new tasks for the project again.

Unfortunately, this will not help you with tasks that are already downloaded. You can "Abort" them if your computer won't finish them in time and you don't want to waste CPU cycles. Bear in mind that work units are sent out to a minimum of two clients so results can be checked, so aborting work units will not hasten the end of the world.

ID: 98505 · Report as offensive

Message boards : Questions and problems : Why does BOINC take tasks in advance?

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.