diff --git a/checkin_notes b/checkin_notes index 173f3b412a..549f96e263 100755 --- a/checkin_notes +++ b/checkin_notes @@ -3648,3 +3648,28 @@ David 17 Apr 2007 lib/ util.C + +David 17 Apr 2007 + - client: define work_buf_total as + max(1, work_buf_min + work_buf_additional). + Allow both work_buf_min and work_buf_additional to be zero. + - client: remove work_needed_secs() + + client/ + client_state.h + cpu_sched.C + sim.h + work_fetch.C + +David 17 Apr 2007 + - user web: better text for work-buf preferences; + defaults are 0 and 0.25. + - remove test_sanity.py stuff from configure.ac. + It's relevant only to the automated testing framework, + which no one uses except us. + + configure.ac + html/inc/ + prefs.inc + test/ + testbase.py diff --git a/client/client_state.h b/client/client_state.h index e9c0bf76bf..0a6a3ab650 100644 --- a/client/client_state.h +++ b/client/client_state.h @@ -273,6 +273,11 @@ public: inline double work_buf_additional() { return global_prefs.work_buf_additional_days *86400; } + inline double work_buf_total() { + double x = work_buf_min() + work_buf_additional(); + if (x < 1) x = 1; + return x; + } void request_enforce_schedule(const char*); void request_schedule_cpus(const char*); // Check for reschedule CPUs ASAP. Called when: @@ -449,7 +454,6 @@ public: double overall_cpu_frac(); double time_until_work_done(PROJECT*, int, double); bool compute_work_requests(); - double work_needed_secs(); void scale_duration_correction_factors(double); void generate_new_host_cpid(); void compute_nuploading_results(); diff --git a/client/cpu_sched.C b/client/cpu_sched.C index 63917a88eb..ae8e4b7ccd 100644 --- a/client/cpu_sched.C +++ b/client/cpu_sched.C @@ -1006,8 +1006,8 @@ void CLIENT_STATE::rr_simulation() { if (log_flags.rr_simulation) { msg_printf(0, MSG_INFO, - "[rr_sim] rr_sim start: work_buf_min %f rrs %f trs %f ncpus %d", - work_buf_min(), rrs, trs, ncpus + "[rr_sim] rr_sim start: work_buf_total %f rrs %f trs %f ncpus %d", + work_buf_total(), rrs, trs, ncpus ); } @@ -1048,17 +1048,17 @@ void CLIENT_STATE::rr_simulation() { // if (!p->active.size()) { double rsf = trs ? p->resource_share/trs : 1; - p->cpu_shortfall = (work_buf_min() + work_buf_additional()) * overall_cpu_frac() * ncpus * rsf; + p->cpu_shortfall = work_buf_total() * overall_cpu_frac() * ncpus * rsf; if (log_flags.rr_simulation) { msg_printf(p, MSG_INFO, - "[rr_sim] no results; shortfall %f wbm %f ocf %f rsf %f", - p->cpu_shortfall, work_buf_min(), overall_cpu_frac(), rsf + "[rr_sim] no results; shortfall %f wbt %f ocf %f rsf %f", + p->cpu_shortfall, work_buf_total(), overall_cpu_frac(), rsf ); } } } - double buf_end = now + work_buf_min() + work_buf_additional(); + double buf_end = now + work_buf_total(); // Simulation loop. Keep going until work done // diff --git a/client/sim.h b/client/sim.h index efcd296bf1..de23a39960 100644 --- a/client/sim.h +++ b/client/sim.h @@ -176,6 +176,12 @@ public: double work_buf_additional() { return global_prefs.work_buf_additional_days * 86400; } + inline double work_buf_total() { + double x = work_buf_min() + work_buf_additional(); + if (x < 1) x = 1; + return x; + } + void request_enforce_schedule(const char*); void request_schedule_cpus(const char*); @@ -229,7 +235,6 @@ public: double overall_cpu_frac(); double time_until_work_done(PROJECT*, int, double); bool compute_work_requests(); - double work_needed_secs(); void scale_duration_correction_factors(double); void generate_new_host_cpid(); void compute_nuploading_results(); diff --git a/client/work_fetch.C b/client/work_fetch.C index 03cd938cca..80a766797c 100644 --- a/client/work_fetch.C +++ b/client/work_fetch.C @@ -579,7 +579,7 @@ bool CLIENT_STATE::compute_work_requests() { // sanity check // - double x = (work_buf_additional() + work_buf_min())*ncpus; + double x = work_buf_total()*ncpus; if (pbest->work_request > x) { msg_printf(NULL, MSG_INTERNAL_ERROR, "Proposed work request %f bigger than max %f", @@ -610,19 +610,6 @@ bool CLIENT_STATE::compute_work_requests() { return false; } -double CLIENT_STATE::work_needed_secs() { - double total_work = 0; - for(unsigned int i=0; iproject->non_cpu_intensive) continue; - total_work += results[i]->estimated_cpu_time_remaining(); - } - double x = work_buf_min() * avg_proc_rate() - total_work; - if (x < 0) { - return 0; - } - return x; -} - // called when benchmarks change // void CLIENT_STATE::scale_duration_correction_factors(double factor) { diff --git a/configure.ac b/configure.ac index 2096d0da83..1e2cd462fe 100644 --- a/configure.ac +++ b/configure.ac @@ -691,36 +691,3 @@ AC_OUTPUT echo "--- Configuring BOINC AC_PACKAGE_VERSION (${build_state}) ---" echo "--- Build Components: (${configured_to_build}) ---" - -[ -true || $TOP_SOURCE_DIR/test/test_sanity.py || ( - cat <Desktopgrid.hu + has been created by the Computer and Automation Research Institute + (SZATAKI) of the Hungarian Academy of Sciences (MTA). + It provides information (and software downloads) for using + BOINC for desktop Grid computing." +), +array("April 16, 2007", + "BOINC is now using Trac, + an integrated software project management system. + In particular: + 1) the BOINC source code repository now uses Subversion; + 2) the BOINC bug database has been moved to Trac; + 3) documentation will be moved to a Wiki. + See the BOINC/Trac page. + " +), array("April 11, 2007", "The BBC documentary 'Meltdown', which highlights Climateprediction.net, diff --git a/doc/build.php b/doc/build.php index 65832d4e66..4960d986da 100644 --- a/doc/build.php +++ b/doc/build.php @@ -54,7 +54,7 @@ you don't need to build the Core client or BOINC Manager.
- MySQL 4.0+ or 4.1+ + MySQL 4.0 or higher
MySQL client X @@ -91,7 +91,7 @@ you don't need to build the Core client or BOINC Manager.
- WxWidgets 2.6.3 + WxWidgets 2.8.3