Message boards :
Number crunching :
Hosts burning results - adjustment in sched_send.c
Message board moderation
Author | Message |
---|---|
Send message Joined: 31 Oct 04 Posts: 336 Credit: 3,316,482 RAC: 0 |
Assuming that CPDN still uses an older version of the server side scheduler, that is happy with only 2% success results, which would be this one : void SCHEDULER_REPLY::got_good_result() { host.max_results_day *= 2; if (host.max_results_day > config.daily_result_quota) { host.max_results_day = config.daily_result_quota; } } void SCHEDULER_REPLY::got_bad_result() { host.max_results_day -= 1; if (host.max_results_day < 1) { host.max_results_day = 1; } } The 2% are a worst case scenario, example : Host limit is 100 results/day, after "burning" 50 results it is reduced to 50/day. A singe success result is sufficient to bring the limit back to the full 100/day so the cycle can start over. this might be changed into this one, that has a harder penalty for bad hosts : void SCHEDULER_REPLY::got_good_result() { host.max_results_day += 1; if (host.max_results_day > config.daily_result_quota) { host.max_results_day = config.daily_result_quota; } } void SCHEDULER_REPLY::got_bad_result() { host.max_results_day /= 2; if (host.max_results_day < 1) { host.max_results_day = 1; } } In later server side BOINC versions the coding in sched_result.cpp is somewhat different but it basically still handles bad/good in the same way, e.g. : good : int n = havp->max_jobs_per_day*2; if (n > config.daily_result_quota) { n = config.daily_result_quota; } bad : n -= 1; if (n < 1) { n = 1; } which could of course easily be adjusted in the same way. |
©2024 climateprediction.net