Sending Deadline Info to Core Client

Message boards : BOINC client : Sending Deadline Info to Core Client
Message board moderation

To post messages, you must log in.

AuthorMessage
cjreyn

Send message
Joined: 17 Aug 09
Posts: 19
United Kingdom
Message 26639 - Posted: 17 Aug 2009, 14:14:39 UTC

Hi all,
I'm relatively new to PRC, so please forgive any naive observations/assumptions! Also, I hope this is the correct place for the post?

I was wondering how BOINC currently handles resuming a suspended task/wu, either through user input or via detection of keyboard or mouse I/O.

I can envisage a scenario where a wu is sent to a client, and suspended at some point. Does the client, upon resuming processing of this wu, check that the deadline has not passed, either through a scheduler contact (server determines the wu should be cancelled), or analysis by the core client of the suspend time vs start-time & deadline?

Enabling client side deadline awareness would be a great way of ensuring that clients are not wasting time on wu's that are "dead" i.e. having been suspended for a long enough period of time to be considered un-returnable.

If someone who is aware of the code base where this may be implemented could let me know whether this functionality exists, so that I could potentially work on a branch to include it?

Regards

Chris
ID: 26639 · Report as offensive
Alinator

Send message
Joined: 8 Jan 06
Posts: 36
United States
Message 26643 - Posted: 17 Aug 2009, 15:59:31 UTC
Last modified: 17 Aug 2009, 16:15:29 UTC

CCs are already aware of what the deadline is for all tasks onboard. That gets sent when a task is assigned to the hosts.

The CC will post a message in the logs about tasks which are over the deadline, advising that you may not get credit for it and might want to abort them. However you have to do that manually by design.

Projects already have a couple of methods of trying to reduce the potential amount of time hosts can waste on useless tasks.

The most commonly seen one is the '221' Redundant Task abort. What happens here is when a scheduler request comes in from a host, a list of all the tasks a host has onboard for the project is included. This list is checked against the BOINC DB and any tasks the host has which are no longer needed by the project and have not yet been started by the host will be aborted. The catch is the project has to have that functionality enabled. Most do, but some don't.

The other alternative is the project has the ability to send an unconditional abort to a host. However, AFAIK no project uses this feature except in extraordinary conditions.

HTH,

Alinator
ID: 26643 · Report as offensive
cjreyn

Send message
Joined: 17 Aug 09
Posts: 19
United Kingdom
Message 26657 - Posted: 18 Aug 2009, 10:49:44 UTC

The CC will post a message in the logs about tasks which are over the deadline, advising that you may not get credit for it and might want to abort them. However you have to do that manually by design


How does it notify (a pop up box or a log print), and why is a user input required to cancel/abort jobs over the deadline? Surely if the deadline has passed, the job should be automatically cancelled as it cannot be used/processed by the server?

The redundant task abort makes perfect sense, although this would not address tasks currently being processed that are over the deadline.

Is there some scope for developing this feature here?
ID: 26657 · Report as offensive
SekeRob

Send message
Joined: 25 Aug 06
Posts: 1596
Message 26660 - Posted: 18 Aug 2009, 11:19:57 UTC - in response to Message 26657.  

Think 6.10 has the feature to client side automate the cancellations of unstarted / overdue tasks, message log recorded, without need to contact server. As said, this moment many/most projects are set up and actively tell the client of an overdue task having become redundant or is deemed to be bad, so it will abort any such task even if started. Before 5.10 there was user action required. Whether redundant tasks already started should be aborted has a catch. The very idea of having worked on a task for 36 hours which got delayed due a previous task that took longer than expected, no fault of the volunteer does not seem right. Think generally, canonical credit is granted when returned late and quorum already complete.
Coelum Non Animum Mutant, Qui Trans Mare Currunt
ID: 26660 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 26662 - Posted: 18 Aug 2009, 13:14:16 UTC

CPDN has a soft deadline because of its extemely long WU. It will accept results past the deadlines. As long as the client continues to send trickle on a regular basis. The manager will just continue to run the past due WU in priority mode to ensure it is finished as quickly as possible.
ID: 26662 · Report as offensive
cjreyn

Send message
Joined: 17 Aug 09
Posts: 19
United Kingdom
Message 26664 - Posted: 18 Aug 2009, 14:05:38 UTC

This strikes me as an attempt to achieve some balance in retaining efficiency; whether by retaining users by allowing them to receive credit for uploading complete but useless results at a cost of time lost in processing redundant tasks, vs cancelling overdue/redundant tasks to reduce said lost time but with a potentially detrimental effect on the size of the host pool. In which case, 6.10 favours the later.

Thank you all for the comments, very helpful!
ID: 26664 · Report as offensive
Nicolas

Send message
Joined: 19 Jan 07
Posts: 1179
Argentina
Message 26949 - Posted: 1 Sep 2009, 0:44:48 UTC - in response to Message 26660.  

Think 6.10 has the feature to client side automate the cancellations of unstarted / overdue tasks, message log recorded, without need to contact server.

That's in 6.6, or possibly 6.4.
ID: 26949 · Report as offensive
Merciadri Luca

Send message
Joined: 1 Aug 09
Posts: 33
Belgium
Message 27878 - Posted: 11 Oct 2009, 13:10:38 UTC - in response to Message 26657.  

[...]why is a user input required to cancel/abort jobs over the deadline? Surely if the deadline has passed, the job should be automatically cancelled as it cannot be used/processed by the server?


I totally agree with you. Why is a human intervation necessary to cancel/abort a task which is over the deadline? If I remember well, the task will be automatically redistributed to another computer, and it shows that the computer which has a task with an over deadline is completely unuseful for the processing of this task, isn't it?
ID: 27878 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14954
Netherlands
Message 27879 - Posted: 11 Oct 2009, 13:19:30 UTC - in response to Message 27878.  

I totally agree with you. Why is a human intervation necessary to cancel/abort a task which is over the deadline?

As already said earlier, the ClimatePredction.Net project will take models that ran over their deadline. In other projects as well, when you run longer tasks, you still get credit when you manage to upload & report the task before the computer with the resent task does so.

I've gotten credit on Einstein tasks that were 5 days over their deadline. This was at a time I didn't have an internet connection, but continued running down my cache anyway.

So it's not all so clear cut that the client should automatically abort/delete tasks over the deadline. What if you had 1%, or 3 minutes to go on a task but it was deleted due to it being over the deadline? Would you like that?

Then people would demand a certain time point after the deadline before this came into effect, then demand that that time point would be increased as they'd always be at that 1% or 3 minutes before their task was deleted.

Thus, it's better to leave it to human intervention. You decide what you do with the task in question. That's why BOINC says "Consider aborting the task". It doesn't tell you that you must.
ID: 27879 · Report as offensive
Merciadri Luca

Send message
Joined: 1 Aug 09
Posts: 33
Belgium
Message 27881 - Posted: 11 Oct 2009, 13:30:05 UTC - in response to Message 27879.  

I totally agree with you. Why is a human intervation necessary to cancel/abort a task which is over the deadline?

As already said earlier, the ClimatePredction.Net project will take models that ran over their deadline. In other projects as well, when you run longer tasks, you still get credit when you manage to upload & report the task before the computer with the resent task does so.

I've gotten credit on Einstein tasks that were 5 days over their deadline. This was at a time I didn't have an internet connection, but continued running down my cache anyway.

So it's not all so clear cut that the client should automatically abort/delete tasks over the deadline. What if you had 1%, or 3 minutes to go on a task but it was deleted due to it being over the deadline? Would you like that?

Then people would demand a certain time point after the deadline before this came into effect, then demand that that time point would be increased as they'd always be at that 1% or 3 minutes before their task was deleted.

Thus, it's better to leave it to human intervention. You decide what you do with the task in question. That's why BOINC says "Consider aborting the task". It doesn't tell you that you must.

I did not know it. Your help was precious. Thanks, I learnt something.

See http://www.student.montefiore.ulg.ac.be/~merciadri/ for more pieces of info.
ID: 27881 · Report as offensive

Message boards : BOINC client : Sending Deadline Info to Core Client

Copyright © 2022 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.