mirror of https://github.com/BOINC/boinc.git
svn path=/trunk/boinc/; revision=12407
This commit is contained in:
parent
f3f11e7b81
commit
3f915e647f
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
//
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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; i<results.size(); i++) {
|
||||
if (results[i]->project->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) {
|
||||
|
|
33
configure.ac
33
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 <<EOF
|
||||
|
||||
******************************************************************************
|
||||
**
|
||||
** The framework sanity check failed.
|
||||
**
|
||||
** If you only want to compile (and run) the client or compile (and run) the
|
||||
** server, this may be okay.
|
||||
**
|
||||
** If you are developing BOINC and want to run the automated tests, you need a
|
||||
** MySQL server installed and running, with permission to create databases.
|
||||
**
|
||||
** You can run this sanity check using test/test_sanity.py
|
||||
**
|
||||
******************************************************************************
|
||||
|
||||
EOF
|
||||
|
||||
)
|
||||
|
||||
if test "${enable_server}" = yes ; then
|
||||
cat<<EOF
|
||||
|
||||
We recommend you run test/test_sanity.py to make sure your host is configured
|
||||
properly for building the BOINC server.
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
]
|
||||
|
|
|
@ -1,6 +1,23 @@
|
|||
<?
|
||||
|
||||
$project_news = array(
|
||||
array("April 17, 2007",
|
||||
"<a href=http://desktopgrid.hu/>Desktopgrid.hu</a>
|
||||
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 <a href=dg.php>desktop Grid computing</a>."
|
||||
),
|
||||
array("April 16, 2007",
|
||||
"BOINC is now using <a href=http://trac.edgewall.org/>Trac</a>,
|
||||
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 <a href=trac/>the BOINC/Trac page</a>.
|
||||
"
|
||||
),
|
||||
array("April 11, 2007",
|
||||
"The BBC documentary 'Meltdown',
|
||||
which highlights <a href=http://climateprediction.net>Climateprediction.net</a>,
|
||||
|
|
|
@ -54,7 +54,7 @@ you don't need to build the Core client or BOINC Manager.</b>
|
|||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MySQL 4.0+ or 4.1+
|
||||
<td>MySQL 4.0 or higher
|
||||
<br>MySQL client
|
||||
</td>
|
||||
<td>X</td>
|
||||
|
@ -91,7 +91,7 @@ you don't need to build the Core client or BOINC Manager.</b>
|
|||
<td><br></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href=http://www.wxwidgets.org/>WxWidgets</a> 2.6.3
|
||||
<td><a href=http://www.wxwidgets.org/>WxWidgets</a> 2.8.3
|
||||
<p>
|
||||
<ul>
|
||||
<li>Configure with the <code>--with-gtk --disable-shared</code> options
|
||||
|
|
11
doc/dg.php
11
doc/dg.php
|
@ -13,7 +13,8 @@ echo "
|
|||
<b>Desktop grid computing</b>
|
||||
is a form of distributed computing in which
|
||||
an organization (such as a business)
|
||||
uses its existing desktop PCs to handle long-running computational tasks.
|
||||
uses its existing desktop PCs to handle its own
|
||||
long-running computational tasks.
|
||||
This differs from volunteer computing in several ways:
|
||||
<ul>
|
||||
<li> The computing resources can be trusted;
|
||||
|
@ -58,9 +59,15 @@ this can be done using <a href=win_deploy.php>Active Directories</a>.
|
|||
</ul>
|
||||
|
||||
<p>
|
||||
To ensure that outside PC can't participate in your project
|
||||
To ensure that outside hosts can't participate in your project
|
||||
or access its files,
|
||||
configure your firewall to prevent HTTP access to your BOINC server.
|
||||
|
||||
<p>
|
||||
For more information on desktop grid computing using BOINC,
|
||||
and some useful pre-compiled software, visit
|
||||
<a href=http://desktopgrid.hu/>Desktopgrid.hu</a>.
|
||||
|
||||
";
|
||||
|
||||
page_tail(true);
|
||||
|
|
|
@ -7,8 +7,9 @@ echo "
|
|||
<li> Install and configure all <a href=build.php>prerequisite software</a>
|
||||
(follow the directions carefully).
|
||||
Make sure MySQL is configured and running.
|
||||
<li> Get the BOINC
|
||||
<li> Compile the BOINC software, say into HOME/boinc.
|
||||
<li> <a href=source_code.php>Get the BOINC software</a>,
|
||||
say into HOME/boinc.
|
||||
<li> <a href=build_system.php>Compile the BOINC server software</a>
|
||||
<li> Run HOME/boinc/tools/<a href=make_project.php>make_project</a>
|
||||
<li> Append the contents of projects/PROJECT/PROJECT.httpd.conf
|
||||
to httpd.conf and restart Apache.
|
||||
|
|
|
@ -69,13 +69,14 @@ define("HANGUP_IF_DIALED_DESC",
|
|||
<br><span class=note>(matters only if you have a modem, ISDN or VPN connection)</span>"
|
||||
);
|
||||
define("WORK_BUF_MIN_DAYS_DESC",
|
||||
"Connect to network about every
|
||||
<br><span class=note>(maximum 10 days)</span>
|
||||
"Computer is connected to the Internet about every
|
||||
<br><span class=note>(Leave blank or 0 if always connected.
|
||||
<br>BOINC will try to maintain at least this much work.)</span>
|
||||
"
|
||||
);
|
||||
define("WORK_BUF_ADDITIONAL_DAYS_DESC",
|
||||
"Cache enough work for an additional
|
||||
<br><span class=note>(maximum 10 days; requires 5.10+ client)</span>
|
||||
"Maintain enough work for an additional
|
||||
<br><span class=note>(Requires 5.10+ client.)</span>
|
||||
"
|
||||
);
|
||||
define("MAX_CPUS_DESC", "On multiprocessors, use at most");
|
||||
|
@ -392,8 +393,8 @@ function default_prefs_global() {
|
|||
$p->cpu_scheduling_period_minutes = 60;
|
||||
$p->confirm_before_connecting = false;
|
||||
$p->hangup_if_dialed = true;
|
||||
$p->work_buf_min_days = .1;
|
||||
$p->work_buf_additional_days = 1;
|
||||
$p->work_buf_min_days = "";
|
||||
$p->work_buf_additional_days = 0.25;
|
||||
$p->max_cpus = 16;
|
||||
$p->cpu_usage_limit = 100;
|
||||
$p->disk_interval = 60;
|
||||
|
|
|
@ -714,7 +714,7 @@ class Proxy:
|
|||
# check if child process died
|
||||
(pid,status) = os.waitpid(self.pid, os.WNOHANG)
|
||||
if pid:
|
||||
fatal_error("testproxy failed")
|
||||
fatal_error("testproxy failed; see testproxy.log for details")
|
||||
self.pid = 0
|
||||
else:
|
||||
atexit.register(self.stop)
|
||||
|
|
Loading…
Reference in New Issue