Changes between Version 4 and Version 5 of CreditNew


Ignore:
Timestamp:
Nov 3, 2009, 10:23:53 AM (14 years ago)
Author:
davea
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