mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=11340
This commit is contained in:
parent
a69d19542c
commit
e12f6efa55
|
@ -11386,8 +11386,8 @@ David 21 Oct 2006
|
|||
server_types.h
|
||||
|
||||
Rom 22 Oct 2006
|
||||
- MGR: CSkinClass is now dead. All references in the simple GUI have been changed
|
||||
to CSkinManager.
|
||||
- MGR: CSkinClass is now dead.
|
||||
All references in the simple GUI have been changed to CSkinManager.
|
||||
- Cleaned up a bunch of warnings.
|
||||
|
||||
clientgui/
|
||||
|
@ -11403,3 +11403,12 @@ Charlie 21 Oct 2006
|
|||
mac_build/
|
||||
boinc.xcodeproj/
|
||||
project.pbxproj
|
||||
|
||||
David 22 Oct 2006
|
||||
- scheduler: rename "reliable_min_avg_turnaround"
|
||||
to "reliable_max_avg_turnaround"
|
||||
- add some doc for new reliable-host scheme
|
||||
|
||||
sched/
|
||||
sched_config.C,h
|
||||
sched_send.C
|
||||
|
|
|
@ -257,6 +257,7 @@ f72103eb0995be77cac54f253c0ba639a814d3293646ae11894e9d1367a98790
|
|||
<authenticator>KEY</authenticator>
|
||||
[ <update/> ]
|
||||
[ <detach/> ]
|
||||
[ <resource_share>X</resource_share> ]
|
||||
</account>
|
||||
...
|
||||
]
|
||||
|
|
|
@ -478,9 +478,20 @@ mysqladmin extended-status 10
|
|||
</h2>Performance Tweaking</h2>
|
||||
<h3>General</h3>
|
||||
|
||||
An often overlooked area of performance is the requirement for reliable power and air conditioning. Power failures can eliminate all the benefits accrued by careful planning for hardware and software installations. Experience is that unreliable power can lead to days of recovery with data loss and subscriber discontent. Similarly, insufficient cooling accelerates the aging of hardware components and can cause data corruption and downtime more frequently than the one would expect given the hardware specs.
|
||||
An often overlooked area of performance is the requirement
|
||||
for reliable power and air conditioning.
|
||||
Power failures can eliminate all the benefits accrued
|
||||
by careful planning for hardware and software installations.
|
||||
Experience is that unreliable power can lead to days
|
||||
of recovery with data loss and subscriber discontent.
|
||||
Similarly, insufficient cooling accelerates the aging of
|
||||
hardware components and can cause data corruption and
|
||||
downtime more frequently than the one would expect given the hardware specs.
|
||||
<pre>
|
||||
There are several parameters in my.cnf that can be adjusted (within limits) for better throughput. Then the distribution of MySQL files to specified disk subsystems, allocation of RAM and Config: my.cnf options for files, RAM, IO options
|
||||
There are several parameters in my.cnf that can be adjusted (within limits)
|
||||
for better throughput.
|
||||
Then the distribution of MySQL files to specified disk subsystems,
|
||||
allocation of RAM and Config: my.cnf options for files, RAM, IO options
|
||||
</pre>
|
||||
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@ echo html_text("
|
|||
<upload_url> http://A/URL </upload_url>
|
||||
<upload_dir> /path/to/directory </upload_dir>
|
||||
<cgi_url> http://A/URL </cgi_url>
|
||||
<stripchart_cgi_url> http://A/URL </stripchart_cgi_url>
|
||||
<log_dir> /path/to/directory </log_dir>
|
||||
|
||||
[ <disable_account_creation/> ]
|
||||
|
@ -53,7 +52,6 @@ echo html_text("
|
|||
[ <default_disk_max_used_gb> X </default_disk_max_used_gb> ]
|
||||
[ <default_disk_max_used_pct> X </default_disk_max_used_pct> ]
|
||||
[ <default_disk_min_free_gb> X </default_disk_min_used_pct> ]
|
||||
[ <sched_disk_space_check_hardcoded/> ]
|
||||
[ <max_claimed_credit>X</max_claimed_credit ]
|
||||
[ <grant_claimed_credit/> ]
|
||||
[ <symstore>URL</symstore> ]
|
||||
|
@ -71,8 +69,9 @@ echo html_text("
|
|||
")
|
||||
;
|
||||
|
||||
echo "<b>The general project configuration elements are:</b>";
|
||||
list_start();
|
||||
list_bar("Hosts, directories, and URLs (these are created
|
||||
by make_project; normally you don't need to change them)");
|
||||
list_item("host",
|
||||
"name of project's main host, as given by Python's socket.hostname().
|
||||
Daemons and tasks run on this host by default."
|
||||
|
@ -94,7 +93,6 @@ list_item("uldl_dir_fanout", "fan-out factor of upload and download directories
|
|||
);
|
||||
list_item("upload_dir", "absolute path of upload directory");
|
||||
list_item("cgi_url", "URL of scheduling server");
|
||||
list_item("stripchart_cgi_url", "URL of stripchart server");
|
||||
list_item("log_dir", "Path to the directory where the assimilator, feeder, transitioner and
|
||||
cgi output logs are stored. This allows you to change the default log
|
||||
directory path. If set explicitly, you can also use the 'grep logs'
|
||||
|
@ -107,30 +105,96 @@ list_item("sched_lockfile_dir",
|
|||
directory where scheduler lockfiles are stored.
|
||||
Must be writable to the Apache user.
|
||||
");
|
||||
list_bar("Web site features");
|
||||
list_item("profile_screening",
|
||||
"If present, don't show profile pictures until they've been
|
||||
screened and approved by project admins."
|
||||
);
|
||||
list_end();
|
||||
|
||||
echo "
|
||||
<b>The following control features that you may or may not want
|
||||
available to users.</b>
|
||||
";
|
||||
list_start();
|
||||
list_item("disable_account_creation",
|
||||
"If present, disallow account creation"
|
||||
);
|
||||
list_item("show_results",
|
||||
"Enable web site features that show results (per user, host, etc.)"
|
||||
);
|
||||
list_end();
|
||||
|
||||
echo "
|
||||
<b>The following control the way in which results are scheduled, sent,
|
||||
and assigned to users and hosts.</b>
|
||||
";
|
||||
list_start();
|
||||
list_bar( "Miscellaneous");
|
||||
list_item("disable_account_creation",
|
||||
"If present, disallow account creation"
|
||||
);
|
||||
list_item("min_passwd_length",
|
||||
"Minimum length of user passwords. Default is 6."
|
||||
);
|
||||
|
||||
list_bar( "Client control");
|
||||
list_item("verify_files_on_app_start",
|
||||
"Before starting or restarting an app,
|
||||
check contents of input files and app version files
|
||||
by either MD5 or digital signature check.
|
||||
Detects user tampering with file
|
||||
(but doesn't really increase security,
|
||||
since user could also change MD5s or signatures in
|
||||
client state file)."
|
||||
);
|
||||
list_item("symstore",
|
||||
"URL of your project's symbol store,
|
||||
used for debugging Windows applications."
|
||||
);
|
||||
list_item("min_core_client_version_announced",
|
||||
"Announce a new version of the BOINC core client, which in the future
|
||||
will be the minimum required version. In conjunction with the next
|
||||
tag, you can warn users with version below this to upgrade by a
|
||||
specified deadline. Example value: 419."
|
||||
);
|
||||
list_item("min_core_client_upgrade_deadline",
|
||||
"Use in conjunction with the previous tag. The value given here is the
|
||||
Unix epoch returned by time(2) until which hosts can update their
|
||||
core client. After this time, they may be shut out of the project.
|
||||
Before this time, they will receive messages warning them to upgrade."
|
||||
);
|
||||
list_item("non_cpu_intensive",
|
||||
"If this flag is present,
|
||||
the project will be treated specially by the client:
|
||||
<ul>
|
||||
<li> The client will download one result at a time.
|
||||
<li> This result will be executed whenever computation is enabled
|
||||
(bypassing the normal scheduling mechanism).
|
||||
</ul>
|
||||
This is intended for
|
||||
<a href=non_cpu_intensive.php>applications that use little CPU time</a>,
|
||||
e.g. that do network or host measurements."
|
||||
);
|
||||
list_bar( "Server logging");
|
||||
list_item("sched_debug_level",
|
||||
"Verbosity level for scheduler log output.
|
||||
1=minimal, 2=normal (default), 3=verbose."
|
||||
);
|
||||
list_item("fuh_debug_level",
|
||||
"Verbosity level for file upload handler log output.
|
||||
1=minimal, 2=normal (default), 3=verbose."
|
||||
);
|
||||
|
||||
list_bar( "Credit");
|
||||
list_item("max_claimed_credit",
|
||||
"If a result claims more credit than this, mark it as invalid."
|
||||
);
|
||||
list_item("grant_claimed_credit",
|
||||
"If set, grant the claimed credit,
|
||||
regardless of what other results for this workunit claimed.
|
||||
These is useful for projects where
|
||||
different instances of the same job
|
||||
can do much different amounts of work.
|
||||
"
|
||||
);
|
||||
list_item("fp_benchmark_weight",
|
||||
"The weighting given to the Whetstone benchmark
|
||||
in the calculation of claimed credit.
|
||||
Must be in [0 .. 1].
|
||||
Projects whose applications are floating-point intensive should use 1;
|
||||
pure integer applications, 0.
|
||||
Choosing an appropriate value will reduce the disparity
|
||||
in claimed credit between hosts.
|
||||
The script html/ops/credit_study.php,
|
||||
run against the database of a running project,
|
||||
will suggest what value to use."
|
||||
);
|
||||
list_bar( "Scheduling options and parameters");
|
||||
list_item("one_result_per_user_per_wu",
|
||||
"If present, send at most one result of a given workunit to a given user.
|
||||
This is useful for checking accuracy/validity of results.
|
||||
|
@ -149,18 +213,6 @@ list_item("max_wus_to_send",
|
|||
the net at intervals has enough work to keep it occupied in between
|
||||
connections."
|
||||
);
|
||||
list_item("non_cpu_intensive",
|
||||
"If this flag is present,
|
||||
project will be treated specially by the client:
|
||||
<ul>
|
||||
<li> The client will download one result at a time.
|
||||
<li> This result will be executed whenever computation is enabled
|
||||
(bypassing the normal scheduling mechanism).
|
||||
</ul>
|
||||
This is intended for
|
||||
<a href=non_cpu_intensive.php>applications that use little CPU time</a>,
|
||||
e.g. that do network or host measurements."
|
||||
);
|
||||
list_item("min_sendwork_interval",
|
||||
"Minimum number of seconds to wait after sending results to a given
|
||||
host, before new results are sent to the same host. Helps prevent
|
||||
|
@ -233,18 +285,6 @@ list_item("cache_md5_info",
|
|||
are re-used, and (2) there are many of these files, and (3) reading
|
||||
the files from disk is time-consuming."
|
||||
);
|
||||
list_item("min_core_client_version_announced",
|
||||
"Announce a new version of the BOINC core client, which in the future
|
||||
will be the minimum required version. In conjunction with the next
|
||||
tag, you can warn users with version below this to upgrade by a
|
||||
specified deadline. Example value: 419."
|
||||
);
|
||||
list_item("min_core_client_upgrade_deadline",
|
||||
"Use in conjunction with the previous tag. The value given here is the
|
||||
Unix epoch returned by time(2) until which hosts can update their
|
||||
core client. After this time, they may be shut out of the project.
|
||||
Before this time, they will receive messages warning them to upgrade."
|
||||
);
|
||||
list_item("nowork_skip",
|
||||
"If the scheduling server has no work,
|
||||
it replies to RPCs without doing any database access
|
||||
|
@ -273,21 +313,6 @@ list_item("resend_lost_results",
|
|||
client, and this flag is set, then those results are RESENT by the
|
||||
scheduler before any new work is sent."
|
||||
);
|
||||
list_item("min_passwd_length",
|
||||
"Minimum length of user passwords. Default is 6."
|
||||
);
|
||||
list_item("fp_benchmark_weight",
|
||||
"The weighting given to the Whetstone benchmark
|
||||
in the calculation of claimed credit.
|
||||
Must be in [0 .. 1].
|
||||
Projects whose applications are floating-point intensive should use 1;
|
||||
pure integer applications, 0.
|
||||
Choosing an appropriate value will reduce the disparity
|
||||
in claimed credit between hosts.
|
||||
The script html/ops/credit_study.php,
|
||||
run against the database of a running project,
|
||||
will suggest what value to use."
|
||||
);
|
||||
|
||||
list_item("default_disk_max_used_gb", "Sets the default value for
|
||||
the disk_max_used_gb preference so its consistent between the
|
||||
|
@ -318,29 +343,23 @@ list_item("default_disk_min_free_gb", "Sets the default value for
|
|||
to keep from filling up the drive. Recommend setting this no
|
||||
smaller than .001 (1MB or 1,000,000 bytes). Default is .001.
|
||||
");
|
||||
|
||||
list_item("sched_disk_space_check_hardcoded", "Controls how the
|
||||
above three settings are interpreted by the web page php scripts.
|
||||
This setting is for projects that updated the php scripts to
|
||||
get the default disk space usage settings from config.xml, but
|
||||
haven't updated their scheduler to do the same.
|
||||
");
|
||||
|
||||
list_item("max_claimed_credit",
|
||||
"If a result claims more credit than this, mark it as invalid."
|
||||
);
|
||||
list_item("grant_claimed_credit",
|
||||
"If set, grant the claimed credit,
|
||||
regardless of what other results for this workunit claimed.
|
||||
These is useful for projects where
|
||||
different instances of the same job
|
||||
can do much different amounts of work.
|
||||
list_item("reliable_time<br> reliable_min_avg_credit<br>
|
||||
reliable_min_avg_turnaround<br> reliable_reduced_delay_bound",
|
||||
"These parameters control a mechanism that attempts to send
|
||||
old results (e.g. those whose siblings have timed out or failed)
|
||||
to fast, reliable hosts.
|
||||
<p>
|
||||
This mechanism is used when the age of a workunit exceeds
|
||||
<b>reliable_time</b> (typically 2-3X the delay bound).
|
||||
The results are sent to hosts with at least
|
||||
<b>reliable_min_avg_credit</b> and at most
|
||||
<b>reliable_max_avg_turnaround</b>.
|
||||
The delay bound is multiplied by <b>reliable_reduced_delay_bound</b>
|
||||
(typically 0.5 or so).
|
||||
"
|
||||
);
|
||||
list_item("symstore",
|
||||
"URL of your project's symbol store,
|
||||
used for debugging Windows applications."
|
||||
);
|
||||
|
||||
list_bar( "File deleter options");
|
||||
list_item("dont_delete_batches",
|
||||
"If this boolean is set,
|
||||
the file deleter won't delete any files for which
|
||||
|
@ -354,23 +373,6 @@ list_item("dont_delete_batches",
|
|||
If you use this option, replace the indices on
|
||||
file_delete_state with indices on (file_delete_state, batch)."
|
||||
);
|
||||
list_item("sched_debug_level",
|
||||
"Verbosity level for scheduler log output.
|
||||
1=minimal, 2=normal (default), 3=verbose."
|
||||
);
|
||||
list_item("fuh_debug_level",
|
||||
"Verbosity level for file upload handler log output.
|
||||
1=minimal, 2=normal (default), 3=verbose."
|
||||
);
|
||||
list_item("verify_files_on_app_start",
|
||||
"Before starting or restarting an app,
|
||||
check contents of input files and app version files
|
||||
by either MD5 or digital signature check.
|
||||
Detects user tampering with file
|
||||
(but doesn't really increase security,
|
||||
since user could also change MD5s or signatures in
|
||||
client state file)."
|
||||
);
|
||||
|
||||
list_end();
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ function option($name, $val) {
|
|||
function project_specific_prefs_default() {
|
||||
return "
|
||||
<color_scheme>Tahiti Sunset</color_scheme>
|
||||
<refresh_rate>100</refresh_rate>
|
||||
<max_frames_sec>100</max_frames_sec>
|
||||
";
|
||||
}
|
||||
|
||||
|
@ -35,8 +35,8 @@ function project_specific_prefs_edit($prefs, $error=false) {
|
|||
";
|
||||
row2("Color scheme", $y);
|
||||
|
||||
$y = "<input size=5 name=refresh_rate value='$prefs->refresh_rate'> Hertz ";
|
||||
row2("Refresh Rate", $y, isset($error->refresh_rate));
|
||||
$y = "<input size=5 name=max_frames_sec value='$prefs->max_frames_sec'>";
|
||||
row2("Max frames/sec", $y, isset($error->max_frames_sec));
|
||||
}
|
||||
|
||||
// Parse form vars, return XML version of project-specific prefs
|
||||
|
@ -44,18 +44,18 @@ function project_specific_prefs_edit($prefs, $error=false) {
|
|||
//
|
||||
function project_specific_prefs_parse_form(&$error) {
|
||||
$color_scheme = $_GET["color_scheme"];
|
||||
$refresh_rate = $_GET["refresh_rate"];
|
||||
$max_frames_sec = $_GET["max_frames_sec"];
|
||||
|
||||
// add and modify this line for other user
|
||||
// editable values that should be validated
|
||||
//
|
||||
if (!verify_numeric($refresh_rate, 0)) $error->refresh_rate = true;
|
||||
if (!verify_numeric($max_frames_sec, 0)) $error->max_frames_sec = true;
|
||||
|
||||
// Please look at util.inc for further information regarding:
|
||||
// function verify_numeric(&$value, $low, $high = false)
|
||||
|
||||
return "<color_scheme>$color_scheme</color_scheme>
|
||||
<refresh_rate>$refresh_rate</refresh_rate>
|
||||
<max_frames_sec>$max_frames_sec</max_frames_sec>
|
||||
";
|
||||
}
|
||||
|
||||
|
@ -67,11 +67,11 @@ function project_specific_prefs_show($prefs, $columns=false) {
|
|||
if ($columns) {
|
||||
// This is used if columns-view is enabled
|
||||
row_defs("Color scheme","color_scheme", "", "", $prefs);
|
||||
row_defs("Refresh rate", "refresh_rate", "Hertz", "", $prefs);
|
||||
row_defs("Max frames/sec", "max_frames_sec", "", "", $prefs);
|
||||
} else {
|
||||
// This is used if normal-view is enabled
|
||||
row2("Color scheme", $prefs->color_scheme);
|
||||
row2("Refresh rate", $prefs->refresh_rate." Hertz");
|
||||
row2("Max frames/sec", $prefs->max_frames_sec);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,6 +79,6 @@ function project_specific_prefs_show($prefs, $columns=false) {
|
|||
//
|
||||
function project_specific_prefs_parse($prefs_xml) {
|
||||
$prefs->color_scheme = parse_element($prefs_xml, "<color_scheme>");
|
||||
$prefs->refresh_rate = parse_element($prefs_xml, "<refresh_rate>");
|
||||
$prefs->max_frames_sec = parse_element($prefs_xml, "<max_frames_sec>");
|
||||
return $prefs;
|
||||
}
|
||||
|
|
|
@ -121,7 +121,7 @@ int SCHED_CONFIG::parse(FILE* f) {
|
|||
else if (xp.parse_int(tag, "sched_debug_level", sched_debug_level)) continue;
|
||||
else if (xp.parse_int(tag, "fuh_debug_level", fuh_debug_level)) continue;
|
||||
else if (xp.parse_int(tag, "reliable_min_avg_credit", reliable_min_avg_credit)) continue;
|
||||
else if (xp.parse_int(tag, "reliable_min_avg_turnaround", reliable_min_avg_turnaround)) continue;
|
||||
else if (xp.parse_int(tag, "reliable_max_avg_turnaround", reliable_max_avg_turnaround)) continue;
|
||||
else if (xp.parse_int(tag, "reliable_time", reliable_time)) continue;
|
||||
else if (xp.parse_double(tag, "reliable_reduced_delay_bound", reliable_reduced_delay_bound)) continue;
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ public:
|
|||
int fuh_debug_level;
|
||||
int reliable_time; // age of workunit before requiring reliable
|
||||
int reliable_min_avg_credit;
|
||||
int reliable_min_avg_turnaround;
|
||||
int reliable_max_avg_turnaround;
|
||||
double reliable_reduced_delay_bound;
|
||||
|
||||
int parse(FILE*);
|
||||
|
|
|
@ -283,7 +283,7 @@ static int get_host_info(SCHEDULER_REPLY& reply) {
|
|||
if (strstr(reply.host.os_name,"Windows") || strstr(reply.host.os_name,"Linux")
|
||||
) {
|
||||
if (((expavg_credit/reply.host.p_ncpus) > config.reliable_min_avg_credit || config.reliable_min_avg_credit == 0)
|
||||
&& (avg_turnaround < config.reliable_min_avg_turnaround || config.reliable_min_avg_turnaround == 0)
|
||||
&& (avg_turnaround < config.reliable_max_avg_turnaround || config.reliable_max_avg_turnaround == 0)
|
||||
){
|
||||
reply.wreq.host_info.reliable = true;
|
||||
log_messages.printf(SCHED_MSG_LOG::MSG_NORMAL,
|
||||
|
@ -294,7 +294,7 @@ static int get_host_info(SCHEDULER_REPLY& reply) {
|
|||
}
|
||||
} else {
|
||||
if (((expavg_credit/reply.host.p_ncpus) > config.reliable_min_avg_credit*.75 || config.reliable_min_avg_credit == 0)
|
||||
&& (avg_turnaround < config.reliable_min_avg_turnaround*1.25 || config.reliable_min_avg_turnaround == 0)
|
||||
&& (avg_turnaround < config.reliable_max_avg_turnaround*1.25 || config.reliable_max_avg_turnaround == 0)
|
||||
){
|
||||
reply.wreq.host_info.reliable = true;
|
||||
log_messages.printf(SCHED_MSG_LOG::MSG_NORMAL,
|
||||
|
|
Loading…
Reference in New Issue