Bug - bad at meeting deadline - leaves until the very last minute

Message boards : Questions and problems : Bug - bad at meeting deadline - leaves until the very last minute
Message board moderation

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97577 - Posted: 14 Apr 2020, 10:36:49 UTC
Last modified: 14 Apr 2020, 10:40:13 UTC

One of my machines is using 3 cores out of 6 for Boinc CPU tasks (since it supports GPU tasks aswell). I've had an LHC Theory task (1 CPU core) for about 2 weeks. Since I've set Rosetta at a much higher priority, it hardly gets run. The deadline is now looming, and it's only just switched to panic mode. There's one day left of work to do, and one day one hour of time left until the deadline. And since it's failed to notice that my CPU is suspended while I play games (usually 3 hours an evening), it will miss the deadline. Shouldn't Boinc leave more leeway?

https://www.dropbox.com/s/5v77y9ghw03mi41/deadline.jpg?dl=0
ID: 97577 · Report as offensive     Reply Quote
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14085
Netherlands
Message 97578 - Posted: 14 Apr 2020, 10:44:56 UTC - in response to Message 97577.  

No, how should BOINC know that?

The project gave the task a certain amount of flops by which they estimate how long the task will take. BOINC takes that number to calculate how long the task is estimated to take. BOINC does this calculation every 30 seconds to a minute. If that number wildly differs from the actual amount of flops (and thus time) the task takes, there's nothing in the world that BOINC can do to know that. You'll have to yell at the project then that they have to increase the amount of estimated flops their tasks take.

Aside from that, do you manually suspend the CPU, or do you use the exclusive_apps option in BOINC Manager to stop calculations automatically when the game is detected in memory and that they resume when the game leaves memory? Because that way BOINC can easier learn your idiosyncrasies.
Please do not private message me for tech support, these will be ignored!
ID: 97578 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97585 - Posted: 14 Apr 2020, 12:36:20 UTC - in response to Message 97578.  

No, how should BOINC know that?

The project gave the task a certain amount of flops by which they estimate how long the task will take. BOINC takes that number to calculate how long the task is estimated to take. BOINC does this calculation every 30 seconds to a minute. If that number wildly differs from the actual amount of flops (and thus time) the task takes, there's nothing in the world that BOINC can do to know that. You'll have to yell at the project then that they have to increase the amount of estimated flops their tasks take.

Aside from that, do you manually suspend the CPU, or do you use the exclusive_apps option in BOINC Manager to stop calculations automatically when the game is detected in memory and that they resume when the game leaves memory? Because that way BOINC can easier learn your idiosyncrasies.


I use exclusive apps. I'm fairly regular with the game playing, a few hours each evening, so Boinc should have learned this.

But nevermind the game, even without that it's left it VERY close to the deadline (1 day to go and only 10 minutes spare?!). Since WUs don't always take exactly as long as you think, or the computer might be switched off unexpectedly etc, surely Boinc should leave more leeway?

And I've seen it be much more cautious at other times - Rosetta tasks go onto panic mode when they have 2 days deadline left and will only take 12 hours of calculations.

The only difference I can think of is LHC is in Virtualbox. Does this mess up Boinc's scheduling? It's always correctly reported the calculation time remaining on that WU though.
ID: 97585 · Report as offensive     Reply Quote
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14085
Netherlands
Message 97597 - Posted: 14 Apr 2020, 14:49:27 UTC - in response to Message 97585.  
Last modified: 14 Apr 2020, 14:53:16 UTC

But nevermind the game, even without that it's left it VERY close to the deadline (1 day to go and only 10 minutes spare?!). Since WUs don't always take exactly as long as you think, or the computer might be switched off unexpectedly etc, surely Boinc should leave more leeway?
BOINC can't predict the future, so if the computer's switched off unexpectedly, how do you want BOINC to know that?
Again, the task comes with an amount of flops decided by the project how long the task should take. Has BOINC run multiple of these tasks, think between 10 and 50, then it will be much better in predicting how long such tasks take. But if it's still running them for the first time, or first week, it doesn't know and it can only use the estimated flops given by the project. And if those flops calculate that it can easily run the task, say within 4 hours, then BOINC won't try to start it so quickly. That's not a bug, that's a project thing.

Whether the task runs in BOINC natively or in VBox shouldn't matter. The amount of flops is the amount of flops, no matter where it's run. And if those flops tell BOINC that the task can be done in an hour, there's no hurry. Even if the task will essentially take a week to be done. Because BOINC can't possibly know this until it's run a couple of them.

You can check in BOINC Manager->Tasks tab->Select the task->Properties what the estimated computing size is. You can divide that by the fpops amount your CPU benchmark gave BOINC, to give an estimated time (in seconds) that BOINC uses to calculated the task. The value is given in GFLOPS, with G being Giga, so that's times 1000^3, or times 1000, times 1000, times 1000.
Please do not private message me for tech support, these will be ignored!
ID: 97597 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97603 - Posted: 14 Apr 2020, 15:18:05 UTC - in response to Message 97597.  
Last modified: 14 Apr 2020, 15:19:20 UTC

But nevermind the game, even without that it's left it VERY close to the deadline (1 day to go and only 10 minutes spare?!). Since WUs don't always take exactly as long as you think, or the computer might be switched off unexpectedly etc, surely Boinc should leave more leeway?
BOINC can't predict the future, so if the computer's switched off unexpectedly, how do you want BOINC to know that?
Again, the task comes with an amount of flops decided by the project how long the task should take. Has BOINC run multiple of these tasks, think between 10 and 50, then it will be much better in predicting how long such tasks take. But if it's still running them for the first time, or first week, it doesn't know and it can only use the estimated flops given by the project. And if those flops calculate that it can easily run the task, say within 4 hours, then BOINC won't try to start it so quickly. That's not a bug, that's a project thing.

Whether the task runs in BOINC natively or in VBox shouldn't matter. The amount of flops is the amount of flops, no matter where it's run. And if those flops tell BOINC that the task can be done in an hour, there's no hurry. Even if the task will essentially take a week to be done. Because BOINC can't possibly know this until it's run a couple of them.

You can check in BOINC Manager->Tasks tab->Select the task->Properties what the estimated computing size is. You can divide that by the fpops amount your CPU benchmark gave BOINC, to give an estimated time (in seconds) that BOINC uses to calculated the task. The value is given in GFLOPS, with G being Giga, so that's times 1000^3, or times 1000, times 1000, times 1000.


I've run loads of those tasks, and the estimate is perfect. My problem is it has absolutely zero leeway and also it should know about the exclusive apps taking effect for 3 hours per day. It would be better if a 4 hour task was started in panic mode say 8 hours before the end. And I often see Rosetta tasks behaving exactly that - 12 hour task, 2 days left, high priority mode engaged. As you said, it can't predict the future, but it can make assumptions. Just like if your route planner says it will take you 4 hours to drive to my house, you don't leave 4 hours before you have to get here. You assume there could be unexpected roadworks, queues, etc.
ID: 97603 · Report as offensive     Reply Quote
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14085
Netherlands
Message 97604 - Posted: 14 Apr 2020, 15:22:48 UTC - in response to Message 97603.  

It would be better if a 4 hour task was started in panic mode say 8 hours before the end.
Why? That will only make it problematic for other projects to run their tasks on time, and then you - or someone else - will be complaining about that. If they've run enough and the estimate is spot on and the task can be run within the next 24 and be finished before the deadline, then why the panic from you?
BOINC will try to run all tasks before their deadline, so if it manages to do that, why not be content?
Please do not private message me for tech support, these will be ignored!
ID: 97604 · Report as offensive     Reply Quote
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14085
Netherlands
Message 97605 - Posted: 14 Apr 2020, 15:25:45 UTC

And if it doesn't, there's still no man overboard, because BOINC has the extra time to run the task and try to return it before it's sent out again and done by someone else's computer. And if that doesn't work - the computer went off unexpectedly - the other fail safe of BOINC comes into play -> a new task is sent out to another user who may be able to run & return it in a timely fashion. The science will always be done.
Please do not private message me for tech support, these will be ignored!
ID: 97605 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97623 - Posted: 14 Apr 2020, 17:59:55 UTC - in response to Message 97604.  
Last modified: 14 Apr 2020, 18:01:35 UTC

It would be better if a 4 hour task was started in panic mode say 8 hours before the end.
Why? That will only make it problematic for other projects to run their tasks on time, and then you - or someone else - will be complaining about that. If they've run enough and the estimate is spot on and the task can be run within the next 24 and be finished before the deadline, then why the panic from you?
BOINC will try to run all tasks before their deadline, so if it manages to do that, why not be content?


It doesn't manage to do that though. Leaving anything to the last minute means if anything causes that computer to crash or be switched off, or not have the CPU power it did before because it's in use etc, then it won't be done on time. Mine is only going to complete (just) because I intervened.

And it wouldn't cause problems doing them a bit early. Most of the time tasks are returned days before the deadline. Putting the odd one into panic mode won't affect any other tasks. And if it means doing more work for a project I've set to a lower priority, then it'll even it out later by downloading more from the others instead.

Would you leave for work 30 minutes before your shift started, and assume there would be no traffic jams?

And if it doesn't, there's still no man overboard, because BOINC has the extra time to run the task and try to return it before it's sent out again and done by someone else's computer. And if that doesn't work - the computer went off unexpectedly - the other fail safe of BOINC comes into play -> a new task is sent out to another user who may be able to run & return it in a timely fashion. The science will always be done.


Ah but it could mean my CPU core was doing pointless calculations for 4 days. That core could have been doing something productive.
ID: 97623 · Report as offensive     Reply Quote
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 4049
United Kingdom
Message 97626 - Posted: 14 Apr 2020, 18:42:11 UTC - in response to Message 97577.  
Last modified: 14 Apr 2020, 18:43:56 UTC

I've had an LHC Theory task (1 CPU core) for about 2 weeks. Since I've set Rosetta at a much higher priority, it hardly gets run
I think this might be the key to the problem. What are your actual Resource Shares for each of the two projects? Have you done the maths for, say, how many minutes per month each project would be allowed to run at that ratio? Starting point - there are 43,200 minutes in this month. Divvy them up (but remember to allow time for gaming).

I suspect the answer is that BOINC has to break one of your rules. Either it breaks Resource Share, or it breaks deadline. As far as BOINC is concerned, RS is desirable, deadline is required. So it will keep to resource share as long as possible, but eventually sacrifice it.

[Edit - rechecked minutes/month. I thought that felt odd.]
ID: 97626 · Report as offensive     Reply Quote
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 14085
Netherlands
Message 97632 - Posted: 14 Apr 2020, 19:23:29 UTC - in response to Message 97623.  

Would you leave for work 30 minutes before your shift started, and assume there would be no traffic jams?
You want to leave home 4 days before your work shift starts in 4 days time, to make sure you're there in time?
ID: 97632 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97633 - Posted: 14 Apr 2020, 19:25:03 UTC - in response to Message 97626.  
Last modified: 14 Apr 2020, 19:32:13 UTC

I've had an LHC Theory task (1 CPU core) for about 2 weeks. Since I've set Rosetta at a much higher priority, it hardly gets run
I think this might be the key to the problem. What are your actual Resource Shares for each of the two projects?


16 Rosetta, 4 LHC, (also 1 Universe).

Have you done the maths


At last someone who uses the S :-)

for, say, how many minutes per month each project would be allowed to run at that ratio? Starting point - there are 43,200 minutes in this month. Divvy them up


43,200 minutes in 1 month, 4/21 of that time for LHC = 8228 minutes. 3 hours per 24 on gaming reduces that to 7200 minutes per month on LHC = 120 hours = 5 days, a bit close to the 4 day task, especially as I think it was downloaded with a 2 or 3 week deadline.

Also.... Rosetta frequently runs out of work, at which point Boinc downloads from LHC instead, processes that a lot, then wants to do even more of the Rosetta. I admit I did have a 1+1 day queue which I've reduced to 0.125+0.125 (although it only took a small number of LHC tasks - most theory tasks don't take the full 4 days). So the LHC queue was about 6 days at the most.

(but remember to allow time for gaming).


Indeed, gaming always comes first :-)

But Boinc did not allow for it. If I had left the exclusive apps rule on this evening, the task would have been returned 3 hours late. Boinc should know by now that I play for 3 hours a day! I have to manually leave that core running while I play the game this evening, to make sure it gets returned on time.

I suspect the answer is that BOINC has to break one of your rules. Either it breaks Resource Share, or it breaks deadline. As far as BOINC is concerned, RS is desirable, deadline is required. So it will keep to resource share as long as possible, but eventually sacrifice it.


Yes I agree the deadline must be met, and the resource share is just desirable - it also depends on what work is available for example. But I don't think it's putting enough importance into the deadline. Doing that task a day earlier just to make sure would have been better. It wouldn't annoy me if the resource share was skewed a bit, it recovers afterwards. The resource share gets messed around with much more by projects having a lack of work, or the server being down at the time of requesting WUs.

[Edit - rechecked minutes/month. I thought that felt odd.]


Why did it feel odd?
ID: 97633 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97634 - Posted: 14 Apr 2020, 19:29:28 UTC - in response to Message 97632.  

Would you leave for work 30 minutes before your shift started, and assume there would be no traffic jams?
You want to leave home 4 days before your work shift starts in 4 days time, to make sure you're there in time?


I'd probably leave 1 day early. Certainly not 10 minutes early like Boinc did!

And to make it clear, I'm talking about me taking 4 days to get from my house to my work, for example I'm going by boat to another country. Allowing an extra day in case of a storm is a good idea!
ID: 97634 · Report as offensive     Reply Quote
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 4049
United Kingdom
Message 97635 - Posted: 14 Apr 2020, 19:55:52 UTC - in response to Message 97633.  

[Edit - rechecked minutes/month. I thought that felt odd.]
Why did it feel odd?
Because the first figure I copied out of the Windows calculator was 30,000 - I've no idea how I got that. 60*24*30 hasn't got much to go wrong.
ID: 97635 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97636 - Posted: 14 Apr 2020, 20:06:14 UTC - in response to Message 97635.  
Last modified: 14 Apr 2020, 20:07:15 UTC

[Edit - rechecked minutes/month. I thought that felt odd.]
Why did it feel odd?
Because the first figure I copied out of the Windows calculator was 30,000 - I've no idea how I got that. 60*24*30 hasn't got much to go wrong.


I always use a proper Casio scientific calculator. With a graphics screen so I can see what I typed in wrongly. It's actually the one I bought 28 years ago to use at school. It was £100! Still working except sometimes I have to bend it to get the screen to light up enough to see.

I really hate it when I use someone's cheapy calculator they got free with something, and it gets a simple calculation like 3+4x5 wrong.
ID: 97636 · Report as offensive     Reply Quote
Dr Who Fan
Avatar

Send message
Joined: 10 May 07
Posts: 543
United States
Message 97640 - Posted: 14 Apr 2020, 20:42:32 UTC - in response to Message 97636.  

I always use a proper Casio scientific calculator. With a graphics screen so I can see what I typed in wrongly. It's actually the one I bought 28 years ago to use at school. It was £100! Still working except sometimes I have to bend it to get the screen to light up enough to see.

I really hate it when I use someone's cheapy calculator they got free with something, and it gets a simple calculation like 3+4x5 wrong.



Scientific calculator = Doing the math equation in proper format / order; Free / cheap calculator = doing math in "RPN" (Reverse Polish Notation) format from left to right or linear.
ID: 97640 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97644 - Posted: 14 Apr 2020, 21:08:26 UTC - in response to Message 97640.  

I always use a proper Casio scientific calculator. With a graphics screen so I can see what I typed in wrongly. It's actually the one I bought 28 years ago to use at school. It was £100! Still working except sometimes I have to bend it to get the screen to light up enough to see.

I really hate it when I use someone's cheapy calculator they got free with something, and it gets a simple calculation like 3+4x5 wrong.



Scientific calculator = Doing the math equation in proper format / order; Free / cheap calculator = doing math in "RPN" (Reverse Polish Notation) format from left to right or linear.


Or more commonly known as "incorrectly". Doesn't need to be complicated mathematics to need it done the right way. I could be simply adding things up - I have several boxes in front of me. Some have 5 bottles of wine in them, some have 3. So I've got 7 boxes of 3 bottles, and 4 boxes of 5 bottles. That's 7 threes and 4 fives. Or 7x3+4x5.
ID: 97644 · Report as offensive     Reply Quote
Nick Name

Send message
Joined: 14 Aug 19
Posts: 39
United States
Message 97668 - Posted: 15 Apr 2020, 8:14:55 UTC - in response to Message 97597.  

BOINC can't predict the future, so if the computer's switched off unexpectedly, how do you want BOINC to know that?

No, but it could actually honor FIFO (First In First Out) and run tasks to completion once they've started, which is the way most people would expect it to work and rightfully so. Doing those two things would solve this for most cases.

I saw this exact scenario many times over the years, it's pretty frustrating to see BOINC letting work sit that you know it can't complete before the deadline, because it's running something else that has a later deadline! It's why I usually run a very low cache, while BOINC still runs things out of order sometimes at least it will have time to get everything returned in time.
Team USA forum
Follow us on Twitter
Help us #crunchforcures!
ID: 97668 · Report as offensive     Reply Quote
Profile Dave

Send message
Joined: 28 Jun 10
Posts: 855
United Kingdom
Message 97671 - Posted: 15 Apr 2020, 11:01:35 UTC - in response to Message 97668.  

BOINC can't predict the future, so if the computer's switched off unexpectedly, how do you want BOINC to know that?

No, but it could actually honor FIFO (First In First Out) and run tasks to completion once they've started, which is the way most people would expect it to work and rightfully so. Doing those two things would solve this for most cases.

I saw this exact scenario many times over the years, it's pretty frustrating to see BOINC letting work sit that you know it can't complete before the deadline, because it's running something else that has a later deadline! It's why I usually run a very low cache, while BOINC still runs things out of order sometimes at least it will have time to get everything returned in time.


Maybe true for most cases. If one of the projects has tasks lasting several weeks as CPDN does at least on slower computers, FIFO would then stop shorter tasks with much shorter deadlines ever running.

The way I see it, whatever system is used, it isn't going to please all of the people all of the time. Personally, I am happy the way it is
ID: 97671 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97675 - Posted: 15 Apr 2020, 12:47:03 UTC - in response to Message 97668.  

BOINC can't predict the future, so if the computer's switched off unexpectedly, how do you want BOINC to know that?

No, but it could actually honor FIFO (First In First Out) and run tasks to completion once they've started, which is the way most people would expect it to work and rightfully so. Doing those two things would solve this for most cases.

I saw this exact scenario many times over the years, it's pretty frustrating to see BOINC letting work sit that you know it can't complete before the deadline, because it's running something else that has a later deadline! It's why I usually run a very low cache, while BOINC still runs things out of order sometimes at least it will have time to get everything returned in time.


I've seen worse. Yesterday a different computer with priorities 16 Rosetta, 4 LHC, 1 Universe had a Universe task with 1 SECOND left to go out of a few hours. And it had left it there for a day, while doing the more important Rosetta. I think Boinc needs a sanity routine installed.
ID: 97675 · Report as offensive     Reply Quote
Peter Hucker
Avatar

Send message
Joined: 6 Oct 06
Posts: 602
United Kingdom
Message 97676 - Posted: 15 Apr 2020, 12:50:14 UTC - in response to Message 97671.  

BOINC can't predict the future, so if the computer's switched off unexpectedly, how do you want BOINC to know that?

No, but it could actually honor FIFO (First In First Out) and run tasks to completion once they've started, which is the way most people would expect it to work and rightfully so. Doing those two things would solve this for most cases.

I saw this exact scenario many times over the years, it's pretty frustrating to see BOINC letting work sit that you know it can't complete before the deadline, because it's running something else that has a later deadline! It's why I usually run a very low cache, while BOINC still runs things out of order sometimes at least it will have time to get everything returned in time.


Maybe true for most cases. If one of the projects has tasks lasting several weeks as CPDN does at least on slower computers, FIFO would then stop shorter tasks with much shorter deadlines ever running.

The way I see it, whatever system is used, it isn't going to please all of the people all of the time. Personally, I am happy the way it is


It's fairly good as is, but needs two tweaks as I see it:

1) Panic earlier so things don't miss deadlines due to unexpected things happening, like a game being played, the computer crashing, the CPU being busy doing other things and slowing it down, or bloody Windows 10 rebooting for an update without asking me first, etc.

2) A touch of common sense. Don't leave a task with 1 second to go, finish it! A task that's been started and has less than a certain amount of time left (maybe say 1 hour, or 30 minutes?) should be run to completion before task switching.
ID: 97676 · Report as offensive     Reply Quote
1 · 2 · Next

Message boards : Questions and problems : Bug - bad at meeting deadline - leaves until the very last minute

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