Changes between Version 15 and Version 16 of CreditNew
- Timestamp:
- Nov 16, 2009, 12:06:40 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CreditNew
v15 v16 688 688 This is called "cherry picking". 689 689 690 Note: the host punishment mechanism690 The host punishment mechanism 691 691 doesn't deal effectively with cherry picking, 692 692 693 693 We propose the following mechanism to deal with cherry picking: 694 694 695 * For each (host, app version) ,maintain "host_scale_time".695 * For each (host, app version) maintain "host_scale_time". 696 696 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 699 711 700 712 The idea is to apply the host scaling factor 701 713 only if there's solid evidence that the host is NOT cherry picking. 714 715 In addition, to limit the extent of cheating 716 (in case the above mechanism is defeated somehow) 717 the host scaling factor will be min'd with a configurable parameters (say, 3). 702 718 703 719 == Implementation ==