Feature request: run till currently running tasks complete

Message boards : BOINC Manager : Feature request: run till currently running tasks complete
Message board moderation

To post messages, you must log in.

AuthorMessage
Julian Opificius

Send message
Joined: 11 Jan 15
Posts: 12
United States
Message 73369 - Posted: 17 Oct 2016, 17:15:25 UTC

I would like to request a feature that causes the manager to not start new tasks for each project when that switch is enabled for each project. This would be similar to the current "No New Tasks" switch, but would simply allow for a tidy completion and reporting of open tasks without starting new ones, even if there are projects in the buffer. An additional option would have the manager shut itself down when all projects with this option enabled are in this state.

The "Do Not Start New Tasks" switch, then, would be a per-project switch, while the "Shut down manager on completion of processing" switch would be a manager level switch.

Comments, amendments, improvements welcome; derisive scoffing... not so much:-)
ID: 73369 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 73375 - Posted: 17 Oct 2016, 20:33:34 UTC - in response to Message 73369.  

This is not the first time this has been asked.
There shouldn't be any need for this as long as you let BOINC figure things out and stop micromanaging things in your fashion. BOINC will try to finish all work before their individual deadline, which is why - when a lot of tasks come in that BOINC doesn't know about yet how long they run for - it will run parts of tasks and go over to the next one before the former are finished.

It will calculate multiple times a second whether tasks are in deadline trouble, and as long as the projects give a reasonable estimate on their tasks for their duration, and you allow BOINC to run - by itself, non-interrupted - 10 to 20 tasks of each project, it will learn how long they run and keep that in mind, then ask more or less work the next time.

Some projects won't be able to run with each other on the same computer, e.g. Asteroids and Seti. Others run fine with each other.

The biggest problem of the request is that some projects run tasks quickly to 90%+ and then sit there for a long time, multiple hours if not days. If you don't allow BOINC to learn about those tasks, but interrupt it yourself with one of your requested buttons, we may well do away with the scheduler at all. Why have an internal scheduler when the user can say 'heck it, I want that task to run now'?
ID: 73375 · Report as offensive
sirzooro

Send message
Joined: 17 Feb 13
Posts: 13
Poland
Message 73428 - Posted: 18 Oct 2016, 22:55:27 UTC - in response to Message 73375.  

Default scheduling is fine if one wants to run tasks only. When he or she wants something more (get particular badge, hours at WUProp, participate in project's challenge, etc.), some micromanagement becomes necessary.

There is also one case when BOINC fails miserably - it is not able to predict when PC will be switched off for longer time because owner goes to vacation/holidays/etc. Especially in this case such new button would be helpful to tell BOINC which tasks should be crunched now, because otherwise deadlines may be missed.
ID: 73428 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 73435 - Posted: 19 Oct 2016, 8:20:33 UTC - in response to Message 73428.  

There is also one case when BOINC fails miserably - it is not able to predict when PC will be switched off for longer time because owner goes to vacation/holidays/etc. Especially in this case such new button would be helpful to tell BOINC which tasks should be crunched now, because otherwise deadlines may be missed.

You already have an old button for that, it's called No New Tasks.

BOINC isn't some artificial intelligence that is capable of foreseeing the future.
It isn't some quantum computer used to get weather predictions, which - if you have noticed that - won't accurately from minute to minute predict what the weather is going to be in a certain place either.

So BOINC uses the human element in cases where it cannot learn. No, of course it cannot predict when you're going on vacation. Only you can - within a reasonable doubt - predict when that time will be, and thus set things in motion to stop getting work in time. In BOINC's case, you set within a time limit that it shouldn't get extra work, via the No New Tasks function already available.

And even if you do not set that, there is still nothing lost, because BOINC works with redundancy: if you do not return a valid result within the time limit, it will be sent to someone else who will be able to do so. There is no project under BOINC that sends its tasks only to you, and never again to anyone else if you do not return a valid result. The science isn't irreparably lost when you do not return a result.

The only thing that will happen in this case is that you do not get credit, and that your BOINC will not ask for as many tasks when you return from vacation as it used to do. But allow it to do everything without managing things yourself and within no time it'll be back to values it did before the vacation.
ID: 73435 · Report as offensive
SekeRob2

Send message
Joined: 6 Jul 10
Posts: 585
Italy
Message 73444 - Posted: 19 Oct 2016, 11:55:36 UTC - in response to Message 73435.  

If remembering correctly, NNT results in all completed tasks being reported immediately i.e. when powering down for the break, all that is complete is reported.

It of course would be gentlemanly if one would [manually] abort all uncompleted tasks and hit update just before switching off, so the project can sooner redistribute.
Coelum Non Animum Mutant, Qui Trans Mare Currunt
ID: 73444 · Report as offensive
sirzooro

Send message
Joined: 17 Feb 13
Posts: 13
Poland
Message 73445 - Posted: 19 Oct 2016, 16:32:47 UTC - in response to Message 73435.  

There is also one case when BOINC fails miserably - it is not able to predict when PC will be switched off for longer time because owner goes to vacation/holidays/etc. Especially in this case such new button would be helpful to tell BOINC which tasks should be crunched now, because otherwise deadlines may be missed.

You already have an old button for that, it's called No New Tasks.

Consider following case: BOINC is crunching 8 tasks from project #1 with expected time left 1 day and deadline 7 days, and 1 task from project #2 with 1 hour left and deadline 1 day. I am going to switch off my PC after 3 hours for 2 days. Now I have to both stop downloading new tasks and suspend downloaded ones to make sure task from project #2 will be finished and reported in time. Of course later I have to resume computation and task downloading. Ability to tell BOINC to run that one task till completion would be much easier.

And even if you do not set that, there is still nothing lost, because BOINC works with redundancy: if you do not return a valid result within the time limit, it will be sent to someone else who will be able to do so. There is no project under BOINC that sends its tasks only to you, and never again to anyone else if you do not return a valid result. The science isn't irreparably lost when you do not return a result.

You are right, BOINC will be able to handle this.

The only thing that will happen in this case is that you do not get credit, and that your BOINC will not ask for as many tasks when you return from vacation as it used to do. But allow it to do everything without managing things yourself and within no time it'll be back to values it did before the vacation.

This, plus electricity used during crunching.
People for sure crunches to help science, but they also wants to gather credits, badges, etc., and they would like to avoid losing their work because of missed deadline.

There is one case when such option would be useful: project has tasks which initially runs very fast (e.g. to 50%), and then remaining part is significantly slower. Crunching of first part will reduce predicted time to some small value, which will not account for the remaining part of WU. If BOINC for some reason will suspend it and then not start it again soon enough, it may miss deadline too. So sometimes such button would be very useful.
ID: 73445 · Report as offensive

Message boards : BOINC Manager : Feature request: run till currently running tasks complete

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.