mirror of https://github.com/BOINC/boinc.git
parent
f0ece97a8b
commit
0733150680
|
@ -13478,3 +13478,24 @@ David 31 Oct 2005
|
||||||
sched/
|
sched/
|
||||||
handle_request.C
|
handle_request.C
|
||||||
sched_config.C,h
|
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
|
// setup timeouts
|
||||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_TIMEOUT, 0L);
|
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_LIMIT, 10L);
|
||||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_LOW_SPEED_TIME, 30L);
|
curlErr = curl_easy_setopt(curlEasy, CURLOPT_LOW_SPEED_TIME, 300L);
|
||||||
curlErr = curl_easy_setopt(curlEasy, CURLOPT_CONNECTTIMEOUT, 60L);
|
curlErr = curl_easy_setopt(curlEasy, CURLOPT_CONNECTTIMEOUT, 120L);
|
||||||
|
|
||||||
// force curl to use HTTP/1.0 (which the old BOINC http libraries did)
|
// 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);
|
//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.
|
// Could also include terms for RAM size, network speed etc.
|
||||||
//
|
//
|
||||||
static void compute_credit_rating(HOST& host) {
|
static void compute_credit_rating(HOST& host) {
|
||||||
double fpw, intw;
|
double fpw, intw, scale, x;
|
||||||
if (config.use_benchmark_weights) {
|
if (config.use_benchmark_weights) {
|
||||||
|
|
||||||
fpw = config.fp_benchmark_weight;
|
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 {
|
} else {
|
||||||
fpw = .5;
|
fpw = .5;
|
||||||
intw = .5;
|
intw = .5;
|
||||||
|
scale = 1;
|
||||||
}
|
}
|
||||||
host.credit_per_cpu_sec =
|
x = fpw*fabs(host.p_fpops) + intw*fabs(host.p_iops);
|
||||||
fpw*(fabs(host.p_fpops)/1e9 + intw*fabs(host.p_iops)/1e9)
|
x /= 1e9;
|
||||||
* COBBLESTONE_FACTOR / (SECONDS_PER_DAY);
|
x *= COBBLESTONE_FACTOR;
|
||||||
|
x /= SECONDS_PER_DAY;
|
||||||
|
x *= scale;
|
||||||
|
host.credit_per_cpu_sec = x;
|
||||||
}
|
}
|
||||||
|
|
||||||
static double fpops_to_credit(double fpops) {
|
static double fpops_to_credit(double fpops) {
|
||||||
|
|
Loading…
Reference in New Issue