Changes between Version 4 and Version 5 of CreditNew
- Timestamp:
- Nov 3, 2009, 10:23:53 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CreditNew
v4 v5 199 199 200 200 Notes: 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. 201 205 * 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.204 206 * This assumes that all hosts are sent the same distribution of jobs. 205 207 There are two situations where this is not the case: 206 208 a) job-size matching, and b) GPUGrid.net's scheme for sending 207 209 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 214 We 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 223 In addition, we may as well maintain the standard deviation 224 of the quantities, 225 although the current system doesn't use it. 226 227 So for each quantity we maintain the following object: 228 {{{ 229 struct 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 == 208 243 To deal with this, we can weight jobs by workunit.rsc_flops_est. 209 244 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 == 245 If a project changes between jobs to app units, 246 it must reset 216 247 217 248 == Cross-project scaling factors == … … 253 284 subsequent jobs will be replicated. 254 285 286 == Job runtime estimates == 287 255 288 == Implementation == 256 289