Thread 'Projects being preempted?'

Message boards : BOINC Manager : Projects being preempted?
Message board moderation

To post messages, you must log in.

AuthorMessage
TheSisko

Send message
Joined: 20 Jun 06
Posts: 2
Canada
Message 4786 - Posted: 20 Jun 2006, 13:21:00 UTC

Why do some projects get preempted? Shouldn't I be able to tell the program to do one project and when it is done to work on another?
ID: 4786 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 4791 - Posted: 20 Jun 2006, 14:57:29 UTC

And work against the Work scheduler and CPU scheduler? Do you tell your OS when it is supposed to write to the page file as well?

If you have multiple projects, results get preempted as per the setting you set in your preferences to switch the application every x minutes. It just means paused. That way Boinc divides the CPU usage correctly over the different projects, can those projects download new work and will you not go against any deadlines the projects have.

Just leave it running.
ID: 4791 · Report as offensive
Pepo
Avatar

Send message
Joined: 3 Apr 06
Posts: 547
Slovakia
Message 4794 - Posted: 20 Jun 2006, 15:46:43 UTC - in response to Message 4786.  

Shouldn't I be able to tell the program to do one project and when it is done to work on another?

If you really want to do so, you can try to set your "switch the application every x minutes" preference to few hundred minutes. This could work if the switch time is much shorter than the shortest deadlines of any of the projects you run. But I don't know how are the apps checkpointing in this case.

Peter
ID: 4794 · Report as offensive
Michael Gmirkin

Send message
Joined: 14 Jun 06
Posts: 8
United States
Message 4969 - Posted: 11 Jul 2006, 20:33:16 UTC - in response to Message 4786.  

Why do some projects get preempted? Shouldn't I be able to tell the program to do one project and when it is done to work on another?


Vaguely recall that current project selection is based roughly on short-term debt, and on which deadlines are in danger of being missed (IE, if you have one that's due today and is 5 hours long it'll preempt one due tomorrow and 3 hours long). Whereas which projects download WU's is based on long-term debt (IE if you allocate 60% of time to Seti and 40% to Einstein, but it's been working 60% recently on Einstein, next it'll download Seti WU's to even it out and get closer to the average WU %'s you've specified). So, it might preempt WU's that have a low or non-existent debt in favor of items with a higher debt and/or WU's with closer deadlines in danger of being missed.

Long and short of it, don't micro-manage projects and the schedulers will do what they do and work on what they work on, and over thel ong term you'll get the results you'vetold the schedulerto give you, in terms of WU %'s among projects.

I know, I sometimes wish I could just say "work on this unit" too. Actually since I onlt work on Seti at the moment, I'd like a "work on this unit" button, or a "shortest unit first" scheme or a "nearest deadline first" scheme. Right now it seems to work on them rather randomly. It seems like it would work on the units with the closest deadlines first, and out of the ones on the sameday, the ones with either the longest predicted CPU times, or the shortest CPU times first.

Personally, I tend toward the "shortest unit first" idea, since it'll finish a higher number of units quickly and then churn the longer one.

Though it would probably make more sense to churn the longest first and get it out of the way, and then churn several shorter units in rapid succession to finish up.

But whatever, I'll just trust it to make good decisions and try not to worry too much about what gets cmpleted when so long sa it DOES get completed.

~Michael
BOINC Seti@Home Stats:

Classic Seti@Home Stats:
ID: 4969 · Report as offensive
Lightsttn1

Send message
Joined: 6 Aug 06
Posts: 27
United States
Message 5214 - Posted: 6 Aug 2006, 5:43:51 UTC - in response to Message 4794.  
Last modified: 6 Aug 2006, 5:47:22 UTC

Shouldn't I be able to tell the program to do one project and when it is done to work on another?

If you really want to do so, you can try to set your "switch the application every x minutes" preference to few hundred minutes. This could work if the switch time is much shorter than the shortest deadlines of any of the projects you run. But I don't know how are the apps checkpointing in this case.

Peter


MY REPLY HERE:
Hi. This is an interesting problem that I also have. I am in the understanding that SETI@home projects are now about 20 hours to complete (If this number is wrong. what is the time for SETI@home projects)a project file, and Rosetta is around 3 hours to complete. If this is the case, and as referenced above the BOINC does projects by checking deadlines, and computer CPU time allotted for each project, but doesn't actually use the project switching setting in the BOINC Mgr. This fact I see to be a definite true, as Rosetta will not give any time to the longer SETI project unless I suspend work for the Rosetta project in the BOINC Mgr GUI. I have the problem that Rosetta will not give any time to a SETI project on my system. I set the BOINC to switch after doing a project for an hour, so both projects will get worked on due to the fact that I do not run my computer constantly, and limit running during hotter weather days because of need for A/C use. Rosetta will preempt SETI all the time. How can I cause Rosetta to give more time to SETI as per my settings for project switching for each project in their settings areas? Thank You in Advance for Your Time, and Assistance in Fixing This Problem. P.S. If all said is true. Then why doesn't SETI preempt Rosetta instead of Rosetta preempting SETI? Seti is longer to complete than Rosetta. Thanks Again.

ID: 5214 · Report as offensive
ProfileTrog Dog
Avatar

Send message
Joined: 6 May 06
Posts: 287
Australia
Message 5215 - Posted: 6 Aug 2006, 6:57:08 UTC - in response to Message 5214.  

Shouldn't I be able to tell the program to do one project and when it is done to work on another?

If you really want to do so, you can try to set your "switch the application every x minutes" preference to few hundred minutes. This could work if the switch time is much shorter than the shortest deadlines of any of the projects you run. But I don't know how are the apps checkpointing in this case.

Peter


MY REPLY HERE:
Hi. This is an interesting problem that I also have. I am in the understanding that SETI@home projects are now about 20 hours to complete (If this number is wrong. what is the time for SETI@home projects)a project file, and Rosetta is around 3 hours to complete. If this is the case, and as referenced above the BOINC does projects by checking deadlines, and computer CPU time allotted for each project, but doesn't actually use the project switching setting in the BOINC Mgr. This fact I see to be a definite true, as Rosetta will not give any time to the longer SETI project unless I suspend work for the Rosetta project in the BOINC Mgr GUI. I have the problem that Rosetta will not give any time to a SETI project on my system. I set the BOINC to switch after doing a project for an hour, so both projects will get worked on due to the fact that I do not run my computer constantly, and limit running during hotter weather days because of need for A/C use. Rosetta will preempt SETI all the time. How can I cause Rosetta to give more time to SETI as per my settings for project switching for each project in their settings areas? Thank You in Advance for Your Time, and Assistance in Fixing This Problem. P.S. If all said is true. Then why doesn't SETI preempt Rosetta instead of Rosetta preempting SETI? Seti is longer to complete than Rosetta. Thanks Again.


G'day Lightsttn1

You need to read the wiki about long term and short term debt and work fetch policy, and get yourself a copy of BOINCView so that you watch what happens to these as each wu is crunched.

The switch time doesn't mean that after 1 hour the wu getting crunched is stopped and another wu from a different project is started. The switch time means at the end of that time stop the current wu and then check what should be crunched on next, that could mean start a new wu from a different project or it could mean carry on with the same wu from the same project.

Leave BOINC to schedule things as it sees fit, because it does do it correctly and as designed.

CIC1=CC=C(C2=N[C@@H](CC(OC(C)(C)C)=O)C3=NN=C(C)N3C4=C2C(C)=C(C)S4)C=C1
ID: 5215 · Report as offensive
Aurora Borealis
Avatar

Send message
Joined: 8 Jan 06
Posts: 448
Canada
Message 5216 - Posted: 6 Aug 2006, 7:29:51 UTC
Last modified: 6 Aug 2006, 7:37:55 UTC

As Trog Dog said leave Boinc alone. Your suspending of WU only messes up it ability to do its job. The more micromanaging you do, the more you mess it up. Boinc uses a system of short (STD) and long (LTD) term debt for each projects. The STD is used to keep track of how much CPU time has been devoted to a project and is used to determine which project should be crunched. The LTD is used to decide which project should download new work.
Whenever the switch time is reached it or a WU completed or new work is downloaded a Boinc uses the debt numbers as part of its calculations to decide what to do next. The priorities are to make sure you always have some work on hand, meet the deadlines, and follow your allocated resource share.
It may not be apparent in the short term, but Boinc is extremely good at this job so it is best not to interfere with its scheduling.

I suggest reading up on how Boinc does its thing. As a starting point, see Work Scheduler

Boinc V 7.4.36
Win7 i5 3.33G 4GB NVidia 470
ID: 5216 · Report as offensive

Message boards : BOINC Manager : Projects being preempted?

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.