- Bug fixes to scheduler code

- For locality scheduler, if anonymous platform lacks app, don't do deterministic
      search for work!
    - For locality scheduler, remove 'unsent' constraint from initial query so that
      existing index in result table can be used to perform a more efficient search.
    - Send multi-message replies to core clients > 4.19
    - Change 'no work available' message to 'no work sent' since this is often due
      to constraints at the client end, NOT lack of work at project end.

svn path=/trunk/boinc/; revision=5492
This commit is contained in:
Bruce Allen 2005-02-22 17:37:03 +00:00
parent 2cdba7ae88
commit b3f75a8aee
3 changed files with 20 additions and 12 deletions

View File

@ -25116,3 +25116,19 @@ Rom 21 Feb 2005
ViewWork.cpp
lib/
gui_rpc_client.C, .h
Bruce 22 Feb 2005
- Bug fixes to scheduler code
- For locality scheduler, if anonymous platform lacks app, don't do deterministic
search for work!
- For locality scheduler, remove 'unsent' constraint from initial query so that
existing index in result table can be used to perform a more efficient search.
- Send multi-message replies to core clients > 4.19
- Change 'no work available' message to 'no work sent' since this is often due
to constraints at the client end, NOT lack of work at project end.
sched/
sched_locality.C
sched_send.C
server_types.C

View File

@ -858,7 +858,7 @@ int send_work(
if (reply.wreq.nresults == 0) {
reply.set_delay(3600);
USER_MESSAGE um2("No work available", "high");
USER_MESSAGE um2("No work sent", "high");
reply.insert_message(um2);
if (reply.wreq.no_app_version) {
USER_MESSAGE um("(there was work for other platforms)", "high");
@ -883,20 +883,12 @@ int send_work(
if (reply.wreq.insufficient_speed) {
char helpful[512];
sprintf(helpful,
"(there was work, but your computer would not finish it before it is due) "
"Your computer is on %.1f%% of the time, and runs BOINC %.1f%% of that time. "
"This project has %.1f%% of those cycles (other BOINC projects get the rest)",
"(won't finish in time) "
"Computer on %.1f%% of time, BOINC on %.1f%% of that, Einstein gets %.1f%% of that",
100.0*reply.host.on_frac, 100.0*reply.host.active_frac, 100.0*sreq.resource_share_fraction
);
USER_MESSAGE um(helpful, "high");
reply.insert_message(um);
if (!config.ignore_delay_bound && sreq.resource_share_fraction<1.0) {
USER_MESSAGE um3 (
"Review preferences for this project's Resource Share",
"high"
);
reply.insert_message(um3);
}
}
if (reply.wreq.homogeneous_redundancy_reject) {
USER_MESSAGE um(

View File

@ -334,7 +334,7 @@ int SCHEDULER_REPLY::write(FILE* fout) {
fprintf(fout, "<request_delay>%f</request_delay>\n", request_delay);
log_messages.printf(SCHED_MSG_LOG::NORMAL, "sending delay request %f\n", request_delay);
}
if (wreq.core_client_version < 462) {
if (wreq.core_client_version <= 419) {
std::string msg;
std::string pri = "low";
for (i=0; i<messages.size(); i++) {