Changes between Initial Version and Version 1 of WorkDistribution


Ignore:
Timestamp:
Apr 24, 2007, 3:26:23 PM (17 years ago)
Author:
Nicolas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WorkDistribution

    v1 v1  
     1= Work distribution =
     2
     3A host asks a project for work by including a
     4{{{
     5<work_req_seconds>X</work_req_seconds>
     6}}}
     7element 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).
     8
     9BOINC's work distribution policy addresses the (sometimes conflicting) goals of keeping hosts as busy as possible, while minimizing the impact of
     10
     11 * Hosts that repeatedly return results with error outcomes, due to a host-specific problem.
     12 * 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.
     13
     14Work distribution is constrained by a number of rules:
     15
     16 * A result is sent only if an application version is available for the host's platform. If the application's min_version field is nonzero, the version number must at list this value.
     17 * A result is not sent if its disk or memory requirements are not met by the host.
     18 * A result is not sent if the estimated latency (based on the host's CPU speed and usage parameters) exceeds the workunit's latency bound.
     19 * A result is not sent if the project has specified a [ProjectOptions#Schedulingoptionsandparameters one result per user per workunit] flag, and a result of the same workunit has already been sent to a host belonging to the same user.
     20 * A result is not sent if the project has specified a [ProjectOptions#Schedulingoptionsandparameters daily result quota per host], and the host has already been sent that many results.
     21 * A project can specify a limit on the [ProjectOptions#Schedulingoptionsandparameters number of results sent per RPC].
     22 * A result is not sent if [HomogeneousRedundancy homogeneous redundancy] is enabled and another result of the same workunit has been sent to a different type of host.
     23
     24In 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.
     25
     26For projects that have very large input files, each of which is used by many workunits, BOINC offers an alternative work distribution policy called [LocalityScheduling locality scheduling].