Thread 'Scheduling Question?'

Message boards : BOINC Manager : Scheduling Question?
Message board moderation

To post messages, you must log in.

AuthorMessage
elwebst

Send message
Joined: 1 Feb 08
Posts: 1
United States
Message 15206 - Posted: 1 Feb 2008, 16:08:14 UTC

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!
ID: 15206 · Report as offensive
ProfileJord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15573
Netherlands
Message 15208 - Posted: 1 Feb 2008, 16:27:43 UTC

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.
ID: 15208 · Report as offensive
John McLeod VII
Avatar

Send message
Joined: 29 Aug 05
Posts: 147
Message 16094 - Posted: 27 Mar 2008, 2:22:15 UTC

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
ID: 16094 · Report as offensive

Message boards : BOINC Manager : Scheduling Question?

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.