Prioritizing tasks

Questions and Answers : Wish list : Prioritizing tasks

To post messages, you must log in.

Dick van Albada

Send message
Joined: 6 Sep 00
Posts: 1
Credit: 173,147
RAC: 0
Message 813443 - Posted: 30 Sep 2008, 12:41:51 UTC

Hi, I am running tasks for several projects on one and the same computer. That means that every task computes for some time and then get swapped out. So far so good, but quite often such a task has only a few more minutes to go. It is possible to force such a task to complete by a complex combination of suspends etc., but it would help if I could just say "run this task first".


ID: 813443 · Report as offensive
Volunteer tester

Send message
Joined: 9 Apr 02
Posts: 15117
Credit: 45,504,702
RAC: 46,671
United States
Message 813496 - Posted: 30 Sep 2008, 21:33:49 UTC

Even though to me and you pausing a task that only has a few minutes to go might seem stupid, the BOINC scheduler is quite advanced and is designed to meet most deadlines (unless the user is running an absurdly large cache).

With this in mind, it is actually best not to micromanage BOINC by suspending tasks to force the one you want to finish to actually complete. Manually interfering with the scheduling process will mess up BOINC's debt-based system that it uses to honor project shares and can cause things to become more difficult to ensure that deadlines are met.

Since the user is not able to be at the computer 24/7 to manage the workunits (micromanagement), BOINC was designed to handle this completely on its own, which is why such a button has not been added.

ID: 813496 · Report as offensive
John McLeod VII
Volunteer developer
Volunteer tester

Send message
Joined: 15 Jul 99
Posts: 24806
Credit: 754,585
RAC: 65
United States
Message 813507 - Posted: 30 Sep 2008, 22:54:25 UTC

In general, BOINC waits until a checkpoint has been reached before it switches. The exception is when another task needs the CPU now in order to reduce the risk of being returned late. BOINC does its best to not return work late, but it does not care how much time is left on a task when it switches tasks. There have in the past (and there may still be) tasks that were incredibly badly behaved - that did 90% of their processing AFTER 100% had been reached. Since BOINC cannot tell whether a project is lying about how much processing time is left, it does two things. When it it is time to switch tasks, it does not wait for the last few minutes as that may actually be a very long time. However, if a project does spend a large amount of time in the last few% of each task, BOINC also does not know this, and the risk of late work increases dramatically. If everyone is returning work late, it tends to get the attention of the administrators eventually - hopefully they will fix their app. The problem is that BOINC cannot trust any data that it gets from the projects to be accurate.


ID: 813507 · Report as offensive

Questions and Answers : Wish list : Prioritizing tasks

©2016 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.