Prioritizing tasks


log in

Advanced search

Questions and Answers : Wish list : Prioritizing tasks

Author Message
Dick van Albada
Send message
Joined: 6 Sep 00
Posts: 1
Credit: 173,147
RAC: 31
Netherlands
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".

DvA
____________

OzzFan
Volunteer tester
Avatar
Send message
Joined: 9 Apr 02
Posts: 13625
Credit: 31,044,177
RAC: 20,902
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.
____________

John McLeod VII
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 15 Jul 99
Posts: 24691
Credit: 522,659
RAC: 19
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.
____________


BOINC WIKI

Questions and Answers : Wish list : Prioritizing tasks

Copyright © 2014 University of California