With the move to work fetch hysteresis, hosts will be requesting work less 
often and getting more for each request.

At SETI@home that will exacerbate the inefficiency caused by the way the BOINC 
core client sorts assigned tasks. Briefly, several tasks which are extremely 
similar tend to run more slowly on a multicore CPU than they would if mixed 
with less similar tasks. The slowdown can amount to 50% or more in some cases. 
The project has done what it can to deliver a mix of work, but having groups of 
tasks sorted by name removes some of the randomness. I'll attach a short file 
showing how a set of 26 tasks I received were ordered in the sched_reply and 
how they were sorted for processing. That's actually from SETI Beta, but serves 
to illustrate the point.

Changing the arrived_first() function in cs_statefile.cpp to simply return false when 
arrival time is equal should be enough, though if there's some need to be 
"deterministic" which I don't see then also changing 
CLIENT_STATE::sort_results() to use std::stable_sort() would meet the need.
--
                                                         Joe
------- order sent ------------    ----- order processed --------
12jl11aa.15003.37698.3.14.235_1    12jl11aa.15003.38107.3.14.8_0  
12jl11aa.15003.37698.3.14.236_0    12jl11aa.15003.38107.3.14.3_0  
12jl11aa.15003.38107.3.14.15_0     12jl11aa.15003.38107.3.14.32_0 
12jl11aa.15003.38107.3.14.16_0     12jl11aa.15003.38107.3.14.2_0  
12jl11aa.15003.38107.3.14.32_0     12jl11aa.15003.38107.3.14.29_0 
12jl11aa.15003.37698.3.14.254_1    12jl11aa.15003.38107.3.14.28_0 
12jl11aa.15003.37698.3.14.255_0    12jl11aa.15003.38107.3.14.1_1  
12jl11aa.15003.38107.3.14.0_0      12jl11aa.15003.38107.3.14.19_0 
12jl11aa.15003.37698.3.14.240_1    12jl11aa.15003.38107.3.14.16_0 
12jl11aa.15003.38107.3.14.8_0      12jl11aa.15003.38107.3.14.15_0 
12jl11aa.15003.38107.3.14.19_0     12jl11aa.15003.38107.3.14.0_0  
12jl11aa.15003.37698.3.14.241_1    12jl11aa.15003.37698.3.14.255_0
12jl11aa.15003.38107.3.14.1_1      12jl11aa.15003.37698.3.14.254_1
12jl11aa.15003.38107.3.14.2_0      12jl11aa.15003.37698.3.14.251_0
12jl11aa.15003.37698.3.14.251_0    12jl11aa.15003.37698.3.14.246_1
12jl11aa.15003.38107.3.14.28_0     12jl11aa.15003.37698.3.14.245_0
12jl11aa.15003.37698.3.14.243_1    12jl11aa.15003.37698.3.14.244_0
12jl11aa.15003.37698.3.14.173_1    12jl11aa.15003.37698.3.14.243_1
12jl11aa.15003.37698.3.14.244_0    12jl11aa.15003.37698.3.14.241_1
12jl11aa.15003.37698.3.14.174_1    12jl11aa.15003.37698.3.14.240_1
12jl11aa.15003.37698.3.14.245_0    12jl11aa.15003.37698.3.14.236_0
12jl11aa.15003.38107.3.14.29_0     12jl11aa.15003.37698.3.14.235_1
12jl11aa.15003.37698.3.14.246_1    12jl11aa.15003.37698.3.14.212_1
12jl11aa.15003.38107.3.14.3_0      12jl11aa.15003.37698.3.14.198_0
12jl11aa.15003.37698.3.14.212_1    12jl11aa.15003.37698.3.14.174_1
12jl11aa.15003.37698.3.14.198_0    12jl11aa.15003.37698.3.14.173_1
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to