mirror of https://github.com/BOINC/boinc.git
parent
f0ece97a8b
commit
0733150680
|
@ -13478,3 +13478,24 @@ David 31 Oct 2005
|
|||
sched/
|
||||
handle_request.C
|
||||
sched_config.C,h
|
||||
|
||||
David 1 Nov 2005
|
||||
- Addendum to yesterday's checkin.
|
||||
It turns out that, on average, the int benchmark
|
||||
is twice the FP benchmark.
|
||||
So if a project were to set its fp_benchmark_weight to 1,
|
||||
the average credit per CPU second would decrease by 1/3.
|
||||
Similarly it would increase if fp_benchmark_weight were 0.
|
||||
|
||||
To fix this, I added a scaling factor that maintains a
|
||||
constant average credit per CPU second
|
||||
(the same average as the current 50/50 weighting)
|
||||
regardless of fp_benchmark_weight.
|
||||
|
||||
- relax Curl timeout parameters; apparently some users going through
|
||||
proxies were geting consistent timeout.
|
||||
|
||||
client/
|
||||
http_curl.C
|
||||
sched/
|
||||
handle_request.C
|
||||
|
|
|
@ -321,9 +321,9 @@ The checking this option controls is of the identity that the server claims. The
|
|||
|
||||
// setup timeouts
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_TIMEOUT, 0L);
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_LOW_SPEED_LIMIT, 50L);
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_LOW_SPEED_TIME, 30L);
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_CONNECTTIMEOUT, 60L);
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_LOW_SPEED_LIMIT, 10L);
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_LOW_SPEED_TIME, 300L);
|
||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_CONNECTTIMEOUT, 120L);
|
||||
|
||||
// force curl to use HTTP/1.0 (which the old BOINC http libraries did)
|
||||
//curlErr = curl_easy_setopt(curlEasy, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
|
||||
|
|
|
@ -301,18 +301,28 @@ make_new_host:
|
|||
// Could also include terms for RAM size, network speed etc.
|
||||
//
|
||||
static void compute_credit_rating(HOST& host) {
|
||||
double fpw, intw;
|
||||
double fpw, intw, scale, x;
|
||||
if (config.use_benchmark_weights) {
|
||||
|
||||
fpw = config.fp_benchmark_weight;
|
||||
intw = 1. - config.fp_benchmark_weight;
|
||||
intw = 1. - fpw;
|
||||
|
||||
// FP benchmark is 2x int benchmark, on average.
|
||||
// Compute a scaling factor the gives the same credit per day
|
||||
// no matter how benchmarks are weighted
|
||||
//
|
||||
scale = 1.5 / (2*intw + fpw);
|
||||
} else {
|
||||
fpw = .5;
|
||||
intw = .5;
|
||||
|
||||
scale = 1;
|
||||
}
|
||||
host.credit_per_cpu_sec =
|
||||
fpw*(fabs(host.p_fpops)/1e9 + intw*fabs(host.p_iops)/1e9)
|
||||
* COBBLESTONE_FACTOR / (SECONDS_PER_DAY);
|
||||
x = fpw*fabs(host.p_fpops) + intw*fabs(host.p_iops);
|
||||
x /= 1e9;
|
||||
x *= COBBLESTONE_FACTOR;
|
||||
x /= SECONDS_PER_DAY;
|
||||
x *= scale;
|
||||
host.credit_per_cpu_sec = x;
|
||||
}
|
||||
|
||||
static double fpops_to_credit(double fpops) {
|
||||
|
|
Loading…
Reference in New Issue