? A Different Way of Scheduling ?

Message boards : Number crunching : ? A Different Way of Scheduling ?
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Ocean Archer
Volunteer tester
Avatar

Send message
Joined: 11 Jun 04
Posts: 148
Credit: 504,219
RAC: 0
United States
Message 121711 - Posted: 10 Jun 2005, 13:38:22 UTC

OK, so I just completed the shift from BOINC 4.28 to 4.45 -- seems like it's going about this sharing and scheduling thing differently. Allow me to share my observations...

With the older version of BOINC, the system would cycle through the various Work Units (WUs) based solely on the "sharing criteria" placed in the preferences menu. This would cause the various programs to cycle through on one hour intervals, while storing the partially completed WUs until they were complete. Granted, it took a bit of balancing before I could get my machine to take in only the WUs it could complete in the time allowed, but if you start with an honest estimate of your machine's capabilities, it is not difficult.

With the 4.45 version, apparently the deadline date for the various WUs has been strengthened until it overrides the sharing option, and will work one specific WU to completion before moving on to the next. Ultimately, this should result in the same number of WUs being processed in the same time, only in serial fashion rather than parallel mode. For systems like mine that have only one CPU, this is not a problem, but hyper-threaded machines and dual CPU boards may have an issue ...
ID: 121711 · Report as offensive
John McLeod VII
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 15 Jul 99
Posts: 24806
Credit: 790,712
RAC: 0
United States
Message 121716 - Posted: 10 Jun 2005, 13:57:32 UTC - in response to Message 121711.  

OK, so I just completed the shift from BOINC 4.28 to 4.45 -- seems like it's going about this sharing and scheduling thing differently. Allow me to share my observations...

With the older version of BOINC, the system would cycle through the various Work Units (WUs) based solely on the "sharing criteria" placed in the preferences menu. This would cause the various programs to cycle through on one hour intervals, while storing the partially completed WUs until they were complete. Granted, it took a bit of balancing before I could get my machine to take in only the WUs it could complete in the time allowed, but if you start with an honest estimate of your machine's capabilities, it is not difficult.

With the 4.45 version, apparently the deadline date for the various WUs has been strengthened until it overrides the sharing option, and will work one specific WU to completion before moving on to the next. Ultimately, this should result in the same number of WUs being processed in the same time, only in serial fashion rather than parallel mode. For systems like mine that have only one CPU, this is not a problem, but hyper-threaded machines and dual CPU boards may have an issue ...

The 4.4x CPU scheduler does indeed take deadlines a bit more seriously than its predecessors. It still prefers the round robin scheduling if it can.

There are three things that will drive the CPU scheduler into EDF.

1) A deadline that is earlier than 24 hours later than now.
2) A deadline that is earlier than 2 * the connect time later than now. This protects modem users.
3) If for any WU, the sum of the remaining processing times for all WUs with an equal or earlier deadline is greater than 80% of the time to the deadline.

No work will be requested from any project under the following circumstances:
1) See #3 above.
2) If the sum of remaining CPU time / time to deadline is > 0.8 for all WUs in the system.

No work will be requested from a particular project if its long-term debt gets too low (current less than -CPU scheduler time) or if it has resource share * connect time work in the queue.

Work will be requested from someplace (anyplace that you are attached to) if there is a CPU idle - this is for multiple CPU users mostly.

Work will be requested from projects that otherwise have enough work in the queue (resource share * connect time) if there is not enough work to fill the queue.

Of course all of these are based on the estimates that the client has for the work to be done for each WU.


BOINC WIKI
ID: 121716 · Report as offensive

Message boards : Number crunching : ? A Different Way of Scheduling ?


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