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.