Work Distribution
From Unofficial BOINC Wiki
A Participant's Host asks a Project for work by including a
<work_req_seconds>X</work_req_seconds>
element in a scheduler RPC request message. This asks the scheduler to return enough work to keep all the host's processors busy for X seconds, given the host's typical usage (i.e. the fraction of time it's turned off or BOINC is suspended, and the other processes that it executes).
BOINC's Work Distribution Policy addresses the (sometimes conflicting) goals of keeping the Participant's Host as busy as possible, while minimizing the impact of
- Those Hosts that repeatedly return results with error outcomes, due to a host-specific problem.
- Malicious participants who attempt to obtain multiple results of the same workunit, in an attempt to obtain unearned credit or have erroneous results accepted as correct.
Work distribution is constrained by a number of rules:
- A Result is sent only if an Application Version is available for the Host's Platform.
- A Result is not sent if its disk or memory requirements are not met by the Host.
- A Result is not sent if the estimated latency (based on the host's CPU speed and usage parameters) exceeds the Work Unit's Latency Bound.
- A Result is not sent if the Project has specified a one Result per Participant per Work Unit flag, and a Result of the same Work Unit has already been sent to a Host belonging to the same Participant (see "Project Configuration File").
- A Result is not sent if the Project has specified a Daily Result Quota per Host, and the Host has already been sent that many Results (see "Project Configuration File").
- A Project can specify a limit on the number of Results sent per RPC (see "Project Configuration File").
- A Result is not sent if Homogeneous Redundancy is enabled and another Result of the same Work Unit has been sent to a different type of Host Platform.
- No Results are sent of the BOINC Daemon has a different Major Version than the Scheduling Server.
In general, the BOINC Scheduler responds to a work request by enumerating unsent results from the database, filtering them by the above criteria, sending them to the host, and continuing until requested duration X is reached.
For Projects that have very large input files, each of which is used by many Work Units, BOINC offers an alternative work distribution policy called Locality Scheduling.
[edit] UCB Source
[edit] Copyright ©
- 2005 University of California
- 2005 Paul D. Buck
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.

