Curiousity: How Client chooses next work unit to calculate?

Message boards : Questions and problems : Curiousity: How Client chooses next work unit to calculate?
Message board moderation

To post messages, you must log in.

AuthorMessage
lorein

Send message
Joined: 2 Aug 08
Posts: 10
Canada
Message 19107 - Posted: 3 Aug 2008, 3:42:55 UTC

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]
ID: 19107 · Report as offensive
Nicolas

Send message
Joined: 19 Jan 07
Posts: 1179
Argentina
Message 19108 - Posted: 3 Aug 2008, 3:58:04 UTC - in response to Message 19107.  
Last modified: 3 Aug 2008, 3:58:36 UTC

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 :)
ID: 19108 · Report as offensive
lorein

Send message
Joined: 2 Aug 08
Posts: 10
Canada
Message 19118 - Posted: 3 Aug 2008, 10:03:38 UTC - in response to Message 19108.  

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 :)


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...........
ID: 19118 · Report as offensive
Profile Gundolf Jahn

Send message
Joined: 20 Dec 07
Posts: 1069
Germany
Message 19120 - Posted: 3 Aug 2008, 11:28:15 UTC - in response to Message 19118.  

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...........

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)
ID: 19120 · Report as offensive
mo.v
Avatar

Send message
Joined: 13 Aug 06
Posts: 778
United Kingdom
Message 19124 - Posted: 3 Aug 2008, 13:59:42 UTC

FAQ about scheduler may explain some of what you want to know.
ID: 19124 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15480
Netherlands
Message 19136 - Posted: 3 Aug 2008, 18:17:18 UTC - in response to Message 19135.  

We CMOS will rule when we get opposing thumbs.

Since they're rather useless for typing anyway, why bother?
ID: 19136 · Report as offensive

Message boards : Questions and problems : Curiousity: How Client chooses next work unit to calculate?

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.