Deadline madness

Message boards : Questions and problems : Deadline madness
Message board moderation

To post messages, you must log in.

AuthorMessage
Jave Ivanovski
Avatar

Send message
Joined: 23 May 09
Posts: 38
Australia
Message 27243 - Posted: 10 Sep 2009, 10:52:01 UTC
Last modified: 10 Sep 2009, 10:53:12 UTC

I've asked this question before, and I'm going to ask it again, as the current logic used by BOINC Manager just doesn't make sense.

I have 2 days cache of WUs for the World Community Grid. Today's date is 10 Sept 09. I have 6 tasks waiting to be completed with a deadline of 14 Sept 09, yet BOINC Manager keeps starting other tasks with a deadline of 19 Sept 09. When the date gets closer to the 14th, no doubt BOINC Manager will panic and run the tasks with a deadline of the 14th in "high-priority" mode. This just does not make sense. WHY DOES BOINC MANAGER DO THIS??? It should run the tasks with the closest deadline first. I just don't understand the logic behind the way that BOINC Manager currently prioritizes its jobs!!!
ID: 27243 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15483
Netherlands
Message 27245 - Posted: 10 Sep 2009, 11:56:41 UTC - in response to Message 27243.  

BOINC normally runs in FIFO, or First In, First Out mode, unless it's close to missing a deadline. If it were to run on deadline only, you couldn't run multiple projects at the same time, as not all projects have the same deadline on their tasks.

E.g. you are attached to MalariaControl.net, Einstein, Seti and WCG.
Malaria has 3 day deadlines, Einstein 14 days, Seti anything from 14 days to more than a month away, WCG 14 days. You have a 3 day cache, with enough tasks from all projects. Which project runs first when doing things by deadline? Yup, solely Malaria.

At least with FIFO, all your projects get a chance to get their work done, in a reasonable amount of time as well. And unless you start forcing BOINC to things your way, it will easily get all that work done. Don't fight it, there's a reason behind it. Just remember that BOINC is 70+ projects, not just one.
ID: 27245 · Report as offensive
Raistmer

Send message
Joined: 9 Apr 06
Posts: 302
Message 27246 - Posted: 10 Sep 2009, 14:50:54 UTC - in response to Message 27245.  
Last modified: 10 Sep 2009, 14:51:36 UTC

With such tactic BOINC will prioritizise low-share projects if they have better availability than project with bigger share.
What I see:
usually I have 2 projects active on all hosts, SETI and Einstein.
I want to use Einstein just as "backup" project and setted low share for it.
Then, when SETI out of work BOINC download full cache of Einstein (not just few tasks needed to keep CPU busy), then it realize that with so small share Einstein could (never happened even with my micromanagement to reduce consequencies of BOINC behavior - suspending many tasks) miss deadlin and starts Einstein in high priority mode.

Then (probably because host running high priority tasks) it refuses to ask for work from SETI at all.
Then, later it ask work from SETI (project with much bigger share!) but continue to empty Einstein's cache just because all Einstein tasks running in high priority mode (instead of delay its execution until true deadline miss can occur). That way to next SETI out of work there is no Einstein tasks too, all already processed in high priority mode, downloading full cache of Einstein works switching to high priority and so on...

SO, what we get? Einstein has order of magnitude higher RAC that it should have according project shares.
I call such situation unacceptable.

What last criteria of truth? Experiment. So, my many experiments show that with other scheduler policy I enforce to BOINC by suspending/settong no work awailable and so on. In same conditions BOINC can do much less Einstein's work, can do much more SETI work and never miss deadline
So why I should spend time for babysitting due incorrectscheduling policy? Maybe just say directly - project shares is unsupported feature.
ID: 27246 · Report as offensive
Jazzop

Send message
Joined: 19 Dec 06
Posts: 90
United States
Message 27257 - Posted: 10 Sep 2009, 19:05:02 UTC - in response to Message 27246.  

So, my many experiments show that with other scheduler policy I enforce to BOINC by suspending/settong no work awailable and so on. In same conditions BOINC can do much less Einstein's work, can do much more SETI work and never miss deadline
So why I should spend time for babysitting due incorrectscheduling policy? Maybe just say directly - project shares is unsupported feature.


Unfortunately, the BOINC egalitarians and apologists who write the scheduler programs don't seem to understand or care that some of us prefer certain projects over others while also preferring to do some kind of work over none at all. The current situation is very paternalistic: you can volunteer to do work, but you can't discriminate among projects.
ID: 27257 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15483
Netherlands
Message 27262 - Posted: 10 Sep 2009, 20:43:06 UTC - in response to Message 27257.  

Since BOINC is Open Source, why not reprogram a copy for own use to let it do things your way? All you need is knowledge of C/C++ and the ability to compile the program. If that knowledge isn't yours, you can learn all about it, courses enough.

Just take a look at the source code to see what it's all about before you dis the 3 full-time programmers doing this mammoth job of trying to add features, not break too much in the process and continue to provide a mostly stable, but most of all free server and client environment with which anyone can start a science project of their own.

Until you've done that and figured out a way to let BOINC do things the way you want it to without breaking the whole shebang, please keep it civil and stop calling these hardworking people names or curse at them.
ID: 27262 · Report as offensive
Jave Ivanovski
Avatar

Send message
Joined: 23 May 09
Posts: 38
Australia
Message 27266 - Posted: 10 Sep 2009, 21:46:17 UTC - in response to Message 27245.  

Just remember that BOINC is 70+ projects, not just one.

Ok, multiple projects point taken. I'll leave BOINC Manager be. :-)
ID: 27266 · Report as offensive
Jave Ivanovski
Avatar

Send message
Joined: 23 May 09
Posts: 38
Australia
Message 27267 - Posted: 10 Sep 2009, 22:44:46 UTC - in response to Message 27262.  

Just one more question. Would it possible have another column in the "Tasks" tab showing the FIFO priority of a task? At least that way a person can see why a task that has a tighter deadline is being left alone and another task has been chosen to run. Just a thought. Or even a column to show the date/time when the task was originally downloaded and added to the queue.
ID: 27267 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 27268 - Posted: 10 Sep 2009, 23:43:53 UTC - in response to Message 27267.  
Last modified: 11 Sep 2009, 0:00:58 UTC

Just one more question. Would it possible have another column in the "Tasks" tab showing the FIFO priority of a task? At least that way a person can see why a task that has a tighter deadline is being left alone and another task has been chosen to run. Just a thought. Or even a column to show the date/time when the task was originally downloaded and added to the queue.

WU 'Ready to start' are normally displayed in FIFO order unless you sort a column to change the order. FIFO only applies within the set of WU for individual project. Your resource share and short term debt determines which project runs next. The dev are not keen on adding extraneous complications to the manager.

Boinc V 7.4.36
Win7 i5 3.33G 4GB NVidia 470
ID: 27268 · Report as offensive
Jave Ivanovski
Avatar

Send message
Joined: 23 May 09
Posts: 38
Australia
Message 27270 - Posted: 11 Sep 2009, 0:29:03 UTC - in response to Message 27268.  

The dev are not keen on adding extraneous complications to the manager.

Ok, no probs. It was simply a suggestion.
ID: 27270 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5082
United Kingdom
Message 27277 - Posted: 11 Sep 2009, 7:47:22 UTC - in response to Message 27268.  

WU 'Ready to start' are normally displayed in FIFO order unless you sort a column to change the order.....

One of my pet peeves is that I like to view BOINC manager tasks in 'native' FIFO order - but once you hit a column header and invoke sorting, you can't return to 'natural' order without a registry hack.

AB is right that even without a sort, BOINC starts up with the projects pre-sorted into alphabetic order, and the tasks displayed FIFO within projects. But if you leave BOINC running for extended periods, new tasks are added to the list in FIFO order, and not sorted by project, so you get a clearer view of what is going on.

Until very recently, the data/time a task was received from the server wasn't even recorded by the BOINC client, so there was no possibility of sorting by it. The field now exists, but I don't know if it's exported by the RPC process and available to the Manager. If it is, it would be a relativly simple change to add an extra column to the Manager display and replicate the sort function: that would supply the information that Jave is interested in, and solve my 'unsort' problem, in one go.
ID: 27277 · Report as offensive

Message boards : Questions and problems : Deadline madness

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.