Message boards : Questions and problems : Deadline madness
Message board moderation
Author | Message |
---|---|
![]() Send message Joined: 23 May 09 Posts: 40 ![]() |
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!!! |
![]() Send message Joined: 29 Aug 05 Posts: 15632 ![]() |
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. |
Send message Joined: 9 Apr 06 Posts: 302 |
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. |
Send message Joined: 19 Dec 06 Posts: 90 ![]() |
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 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. |
![]() Send message Joined: 29 Aug 05 Posts: 15632 ![]() |
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. |
![]() Send message Joined: 23 May 09 Posts: 40 ![]() |
Just remember that BOINC is 70+ projects, not just one. Ok, multiple projects point taken. I'll leave BOINC Manager be. :-) |
![]() Send message Joined: 23 May 09 Posts: 40 ![]() |
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. |
![]() Send message Joined: 8 Jan 06 Posts: 448 ![]() |
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 |
![]() Send message Joined: 23 May 09 Posts: 40 ![]() |
The dev are not keen on adding extraneous complications to the manager. Ok, no probs. It was simply a suggestion. |
Send message Joined: 5 Oct 06 Posts: 5149 ![]() |
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. |
Copyright © 2025 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.