Questions and Answers :
Getting started :
How does BOINC choose which WU to run?
Message board moderation
Author | Message |
---|---|
Cyntech Send message Joined: 17 Apr 02 Posts: 21 Credit: 1,259,030 RAC: 0 |
Just a quick query; How does BOINC choose which work unit to run when it starts a new unit? |
OzzFan Send message Joined: 9 Apr 02 Posts: 15691 Credit: 84,761,841 RAC: 28 |
Due to varying workunit sizes from several projects, each with varying deadlines, the default method is First In, First Out. If BOINC calculates that a workunit may miss a deadline for some reason, it will switch to Earliest Deadline First mode (in BOINC Manager, it will say "Running, High Priority") until BOINC estimates that all dangers of missing a deadline have passed, then it will switch back to FIFO. There is no way to force one method over the other. |
Aurora Borealis Send message Joined: 14 Jan 01 Posts: 3075 Credit: 5,631,463 RAC: 0 |
To expand on what OzsFan said... If you have more than one project, Boinc determines which project to run next based on how much work has been done for each projects and tries to maintain the resource share of the projects. It does this using a system of debt. It regularly check on these values and determines if it need to give time to another project. For more detail on Boinc inner workings see Work Scheduler. |
John McLeod VII Send message Joined: 15 Jul 99 Posts: 24806 Credit: 790,712 RAC: 0 |
Within a single project the default is First In First Out. Between projects on a CPU the default is Round Robin modified by resource share. Between projects on a GPU the default is First In First Out. There is a high priority mode that kicks in if a task in a project is in danger of being late if run in the default order. In this case, the earliest deadline task from the set of projects with tasks that are in deadline trouble is run. If there is more than one CPU, each CPU will be scheduled into this mode independently. Similarly for GPUs. BOINC WIKI |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.