Changes between Version 15 and Version 16 of CreditNew


Ignore:
Timestamp:
Nov 16, 2009, 12:06:40 PM (15 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CreditNew

    v15 v16  
    688688This is called "cherry picking".
    689689
    690 Note: the host punishment mechanism
     690The host punishment mechanism
    691691doesn't deal effectively with cherry picking,
    692692
    693693We propose the following mechanism to deal with cherry picking:
    694694
    695  * For each (host, app version), maintain "host_scale_time".
     695 * For each (host, app version) maintain "host_scale_time".
    696696   This is the earliest time at which host scaling will be applied.
    697    This is set initially, and each time a job times out
    698    or errors out, to now+X, where X is the app's delay bound.
     697 * for each (host, app version) maintain "scale_probation"
     698   (initially true).
     699 * When send a job to a host,
     700   if scale_probation is true,
     701   set host_scale_time to now+X, where X is the app's delay bound.
     702 * When a job is successfully validated,
     703   and now > host_scale_time,
     704   set scale_probation to false.
     705 * If a job times out or errors out,
     706   set scale_probation to true,
     707   max the scale factor with 1,
     708   and set host_scale_time to now+X.
     709 * when computing claimed credit for a job,
     710   and now < host_scale_time, don't use the host scale factor
    699711
    700712The idea is to apply the host scaling factor
    701713only if there's solid evidence that the host is NOT cherry picking.
     714
     715In addition, to limit the extent of cheating
     716(in case the above mechanism is defeated somehow)
     717the host scaling factor will be min'd with a configurable parameters (say, 3).
    702718
    703719== Implementation ==