Changes between Version 4 and Version 5 of CreditNew

Show
Ignore:
Author:
davea (IP: 71.202.248.143)
Timestamp:
11/03/09 10:23:53 (3 weeks ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CreditNew

    v4 v5  
    199199 
    200200Notes: 
     201 * This mechanism reduces the claimed credit of hosts 
     202   that are less efficient than average, 
     203   and increases the claimed credit of hosts that are more efficient 
     204   than average. 
    201205 * VNPFC* is averaged over jobs, not hosts. 
    202  * Both averages are exponential recent averages, 
    203    so that they respond to changes in job sizes and app versions characteristics. 
    204206 * This assumes that all hosts are sent the same distribution of jobs. 
    205207   There are two situations where this is not the case: 
    206208   a) job-size matching, and b) GPUGrid.net's scheme for sending 
    207209   some (presumably larger) jobs to GPUs with more processors. 
     210   This can be dealt with using app units (see below). 
     211 
     212== Computing averages == 
     213 
     214We need to compute averages carefully because 
     215 
     216 * The quantities being averaged may gradually change over time 
     217   (e.g. average job size may change, 
     218   app version efficiency may change as new versions are deployed) 
     219   and we need to track this. 
     220 * A given sample may be wildly off, 
     221   and we can't let this mess up the average. 
     222 
     223In addition, we may as well maintain the standard deviation 
     224of the quantities, 
     225although the current system doesn't use it. 
     226 
     227So for each quantity we maintain the following object: 
     228{{{ 
     229struct STATS { 
     230    int nsamples; 
     231    double sum; 
     232    double exp_avg; 
     233 
     234    void update(double sample) { 
     235    } 
     236 
     237    double mean() { 
     238    } 
     239}; 
     240}}} 
     241 
     242== Jobs versus app units == 
    208243   To deal with this, we can weight jobs by workunit.rsc_flops_est. 
    209244 
    210 == Computing averages == 
    211  * Averages are computed as a moving average, 
    212    so that the system will respond quickly as job sizes change 
    213    or new app versions are deployed. 
    214  
    215 == Jobs versus app units == 
     245If a project changes between jobs to app units, 
     246it must reset 
    216247 
    217248== Cross-project scaling factors == 
    253284  subsequent jobs will be replicated. 
    254285 
     286== Job runtime estimates == 
     287 
    255288== Implementation == 
    256289 

If this page is incomplete or incorrect, please edit it or add it to the wiki to-do list. To do this, you must be logged in; click Login or Register above.