Message boards : Questions and problems : Curiousity: How Client chooses next work unit to calculate?
Message board moderation
Author | Message |
---|---|
Send message Joined: 2 Aug 08 Posts: 10 ![]() |
Something that I've noticed for a while, but never had a moment to ask a question on: How does the client software determine which of the downloaded units will be worked on next? I had always assumed it was based upon when the deadline was, but I recently built a new quad core system and was watching how fast it finished units- I noticed that it was proceeding to the next work unit in some kind of NOT obvious scheduling approach. I've done a screen capture that shows most of my work units: https://www.yousendit.com/download/Q01IMWZFdGp0NjgwTVE9PQ [this link will expire in about 7 days] You should notice that it is currently working on units who's deadline is 24-Aug, even though there are many units that have a deadline of 08-Aug onward. [Not all of my units fit onto the screen capture page]. I can force it to take the least-time left units by suspending all the others, then it chooses the ones I have not suspended. However, if I then unsuspend the other units eventually it seems to go back to choosing units in a less-than-obvious manner. I checked the various preferences, but can't really find any setting that would cause this. Any clues as to why this happens? [I noticed this in the past, prior to upgrading from 5.45 to 6.2.x] |
Send message Joined: 19 Jan 07 Posts: 1179 ![]() |
Something that I've noticed for a while, but never had a moment to ask a question on: How does the client software determine which of the downloaded units will be worked on next? A big complex algorithm few people understand. See Client scheduling policies. https://www.yousendit.com/download/Q01IMWZFdGp0NjgwTVE9PQ [this link will expire in about 7 days] If that's just an image, please use http://imageshack.us which shows the image directly and doesn't expire :) |
Send message Joined: 2 Aug 08 Posts: 10 ![]() |
Something that I've noticed for a while, but never had a moment to ask a question on: How does the client software determine which of the downloaded units will be worked on next? Unfortunately, the web page regardling "client scheduling policies" speaks about how scheduling works to balance CPU and Project loading, as well as how to pre-fetch work units- taking into considering how you have set your per project and per cpu preferences. I don't really see anything that says within a given project, once it's determined that work can be schedule, which unit it will choose next. So, assume the following: 1 project only Preferences say 100% CPU utilization is permitted. Computer is also "idle" except for BOINC. How does it then decide which of the existing pre-loaded work units is started next? Given that I can see it pass by units which have the earliest deadlines, I am still mystified. It seems a bit weird to have it work on units that are due in 29 days first, when there are ones due in 7 days. Hmmmmmmmmmmm........... |
![]() Send message Joined: 20 Dec 07 Posts: 1069 ![]() |
So, assume the following: I think they are done first in first out, unless that way there would be a WU missing the deadline. In that case, BOINC enters EDF (earliest deadline first) mode, shown as "high priority" in the status field. There are good reasons for that strategy, but I'm too lazy to search for the respective threads :-) where they are explained. Maybe they are over at the SETI boards. Gruß, Gundolf Computer sind nicht alles im Leben. (Kleiner Scherz) ![]() |
![]() Send message Joined: 13 Aug 06 Posts: 778 ![]() |
FAQ about scheduler may explain some of what you want to know. |
![]() Send message Joined: 29 Aug 05 Posts: 15631 ![]() |
We CMOS will rule when we get opposing thumbs. Since they're rather useless for typing anyway, why bother? |
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.