I'm confused by the scheduling order.

Message boards : Questions and problems : I'm confused by the scheduling order.
Message board moderation

To post messages, you must log in.

AuthorMessage
shawn

Send message
Joined: 19 Nov 13
Posts: 1
United States
Message 51371 - Posted: 19 Nov 2013, 22:37:38 UTC

Boinc generally has enough time to do the work units I have, but sometimes it makes strange choices. I know it has a preference for FIFO, but it ignores little things like "vacation".

Right now, for example, I have units with deadlines in November. With 100% uptime I'm sure there'd be no problem, but BOINC is happily running units due in January (ignoring all the December ones).

BOINC has no clue that I'm going to take Thanksgiving week off. Or 3 weeks in December. There's pretty much no chance that BOINC will complete all of this year's units before their deadline because it's insisting on running next year's tasks instead of the more urgent ones. I'm sure the machine'll have plenty of uptime for all of the tasks, if it processed the soonest due ones first.

I gather that there's reasoning for some of this, but when deciding which tasks are high priority, BOINC should assume that 2 weeks of down time are going to happen in the near-term, and extend it's high priority window by another 2 weeks.

ID: 51371 · Report as offensive
TRNG98

Send message
Joined: 22 Nov 13
Posts: 4
Sweden
Message 51461 - Posted: 22 Nov 2013, 22:45:50 UTC - in response to Message 51371.  

There is a little setting in the Preferences/CPU called "Switch between applications every..."
This is rather backwards, as the BOINC check the scheduling frequently independent of the setting. It seems to add the setting to the estimated time to finish a WU, and it then schedule which WU to compute.

Pull up the number massively, so the scheduler pause a WU, switch to another WU and signal High Priority. Then reduce the number to 2/3. Now the scheduler will find many time constrains, and will run your WU:s in some logical order. Short deadline WU:s will start immediately, preempt running jobs.

Scheduling algorithms are extremely complex, but I agree that decisions looks a bit strange occasionally. If you pause a single WU in the list, you will likely find a few surprises.

ID: 51461 · Report as offensive
whynot

Send message
Joined: 8 May 10
Posts: 89
Ukraine
Message 51480 - Posted: 23 Nov 2013, 15:16:00 UTC - in response to Message 51461.  


If you pause a single WU in the list, you will likely find a few surprises.


Better -- don't. That will make BOINC to ignore that unit at all. Technically speeking -- it would be out of buffer. Then BOINC might request more. Me suggests to set projects to 'nomorework' at appropriate time. It might be too late though.

2shawn Try to see another obstacle. The farer deadline, the longer WU. Indeed, you can't advice BOINC about upcoming vacation. Unless estimated times are borked and/or WUs have been suspended BOINC will finish all of them within deadlines. Ignoring upcoming vacation it doesn't know about.

I'm counting for science,
points just make me sick.
ID: 51480 · Report as offensive
Profile ChertseyAl
Avatar

Send message
Joined: 17 Jul 09
Posts: 109
United Kingdom
Message 51483 - Posted: 23 Nov 2013, 18:05:43 UTC - in response to Message 51480.  


If you pause a single WU in the list, you will likely find a few surprises.


Better -- don't. That will make BOINC to ignore that unit at all. Technically speeking -- it would be out of buffer. Then BOINC might request more.


No, completely wrong. BOINC doesn't work like that at all.

Cheers,

Al.
ID: 51483 · Report as offensive
John McLeod VII
Avatar

Send message
Joined: 29 Aug 05
Posts: 147
Message 51531 - Posted: 25 Nov 2013, 13:50:42 UTC - in response to Message 51483.  


If you pause a single WU in the list, you will likely find a few surprises.


Better -- don't. That will make BOINC to ignore that unit at all. Technically speeking -- it would be out of buffer. Then BOINC might request more.


No, completely wrong. BOINC doesn't work like that at all.

Cheers,

Al.

Depends on the version of BOINC. I don't remember which way it is set at the moment.

BOINC WIKI
ID: 51531 · Report as offensive
John McLeod VII
Avatar

Send message
Joined: 29 Aug 05
Posts: 147
Message 51532 - Posted: 25 Nov 2013, 13:57:34 UTC

There are a few ways out of the situation:

1) For extended vacations: Set all projects for No New Tasks. This tells BOINC to finish off the current work, return it all, report it, and then when you get back, you allow new tasks for all projects and it will start up again.

2) For vacation times less than 2 weeks: Set the work buffer using "Maintain enough work for X days" to a value slightly larger than the vacation time. This setting also pulls the completion and report deadlines back by the value of the buffer time. Do NOT use the Extra Work as that setting does not affect the deadline.

3) Somewhat less friendly, but will work is to just leave the settings alone and have some abandoned and late work when you get back from vacation. The science project will send replacements to someone else.

BOINC WIKI
ID: 51532 · Report as offensive
whynot

Send message
Joined: 8 May 10
Posts: 89
Ukraine
Message 51609 - Posted: 30 Nov 2013, 16:06:55 UTC - in response to Message 51532.  


3) Somewhat less friendly, but will work is to just leave the settings alone and have some abandoned and late work when you get back from vacation. The science project will send replacements to someone else.


Don't abandon, that's not fair to project. Abort instead. For science sake, *don't be late*! There's a small percentage of crunchers who just hate to be overrun by late WU. Indeed, the percentage is small. But their hate is real and they are vocal. Abort instead.
I'm counting for science,
points just make me sick.
ID: 51609 · Report as offensive

Message boards : Questions and problems : I'm confused by the scheduling order.

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.