Message boards : BOINC Manager : Scheduling Question?
Message board moderation
Author | Message |
---|---|
Send message Joined: 1 Feb 08 Posts: 1 |
I've been running SETI@Home since '99, but first time poster, so call me a newb. I've been wondering about how BOINC schedules WU's for execution. I am currently running 5.10.30. Right now, 01 Feb, I have several dozen WU's waiting (I have a fast quad core). It has chosen the WU's due 9 March, 17 March, 18 March, and 31 March to execute. Not, anything actually due this month (February), of which there are 19 waiting. Why is this? Why would it choose the furthest deadline WU to work on? I occasionally suspend distant-due WU's to force BOINC to execute close-in WU's. Is there an option to have it execute in due-date order? Is there a reason why I wouldn't want that? I am running one project (Seti@Home) with all 4 cores enabled. Thanks! |
Send message Joined: 29 Aug 05 Posts: 15573 |
BOINC's work scheduler schedules work to be computed at the rate it comes in, not at the deadline. Tasks that seem to miss their deadline will be computed with haste, but otherwise it'll just compute them as they've been sent to you. The reasoning behind this is that there are a lot of projects you can crunch with BOINC, with varying deadlines from 24 hours to over a year. If BOINC would crunch only by deadline and you would be attached to one project with ultra short deadlines and one project with longer deadlines, you'd spend most of your time only crunching the tasks for the one project, then all of a sudden with haste the tasks for the other project, before their deadline was up. There's no need to suspend specific tasks to let others go first. If you just leave things well alone, everything gets done before their deadline. |
Send message Joined: 29 Aug 05 Posts: 147 |
The CPU scheduler has two modes. The modes can be mixed on a multiple CPU machine. Note that this discussion is only for the latest versions. Earlier versions have different characteristics. First is the normal Round Robin mode. Each project gets its share of the CPUs in turn based on Short Term Debt (hightst STD wins). Within a project, the tasks are loaded FIFO. The second mode is Earliest Deadline First. In EDF mode, a project with a task that has deadline trouble runs a task on a CPU immediately. Up to the minimum of ncpus and N tasks in deadline trouble will run in EDF. If there are any remaining cpus from ncpus, these will run in RR mode. If the tasks are not being run in high priority, then they are being run in RR mode. BOINC WIKI |
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.