benchmark suspend logic

svn path=/trunk/boinc/; revision=8132
This commit is contained in:
David Anderson 2005-09-21 21:39:35 +00:00
parent d5185302e1
commit d08355f4da
9 changed files with 170 additions and 18 deletions

View File

@ -2,18 +2,10 @@
## $Id$
# for solaris machines that don't have autoconf 2.57 or automake 1.7 installed:
# this file is only for bootstrapping the "Makefile.in" files and "Makefile"
# files; you probably don't need to run this if the Makefile.in files were
# correctly checked into the repository.
## need autoconf, automake, m4, ... from quarl's bin directory:
if [ `uname` = SunOS ]; then
PATH=/disks/philmor/a/users/quarl/local/Node-SOLARIS/bin:$PATH
export PATH
fi
if [ -d autom4te.cache ]; then
/bin/rm -rf autom4te.cache
fi

View File

@ -11943,3 +11943,16 @@ Charlie 21 Sept 2005
lib/
mac_backtrace.C
David 21 Sept 2005
- when benchmarking, suspend running applications the normal way
(leave in memory or not, depending on general prefs)
rather than always removing from memory.
Note: there may already be suspended apps in memory,
so killing running apps is pointless.
- remove site-specific lines from _autosetup
_autosetup
client/
cs_prefs.C

View File

@ -188,11 +188,7 @@ int CLIENT_STATE::suspend_activities(int reason) {
s_reason += " - out of disk space - change global prefs";
}
msg_printf(NULL, MSG_INFO, const_cast<char*>(s_reason.c_str()));
if (reason & SUSPEND_REASON_BENCHMARKS) {
active_tasks.suspend_all(false);
} else {
active_tasks.suspend_all(global_prefs.leave_apps_in_memory);
}
active_tasks.suspend_all(global_prefs.leave_apps_in_memory);
pers_file_xfers->suspend();
return 0;
}

View File

@ -74,7 +74,7 @@ Please check with davea at ssl.berkeley.edu
before undertaking any of these.
<hr>
Various implementation notes:
<h2>Core client</h2>
<h2>Client</h2>
<ul>
<li> <a href=client_files.php>File structure</a>
<li> <a href=client_fsm.php>FSM structure</a>
@ -87,6 +87,7 @@ Various implementation notes:
<li> <a href=host_id.php>Host identification</a>
<li> <a href=client_app.php>Core client/application interaction (basic)</a>
<li> <a href=client_app_graphic.php>Core client/application interaction (graphics)</a>
<li> <a href=client_startup.php>Client configuration files</a>
<!--
<li> <a href=disk_management.php>Disk space management</a>
-->

76
doc/client_startup.php Normal file
View File

@ -0,0 +1,76 @@
<?php
require_once("docutil.php");
page_head("Client configuration files");
echo "
<p>
BOINC provides mechanisms for making installers that
configure the client to
contact a particular account manager or project
the first time the Manager is run.
These mechanisms work by having the installer
create <b>configuration files</b> in the BOINC directory.
There are several possible configuration files:
";
list_start();
list_item("acct_mgr_url.xml",
"Contains the name and URL of an account manager;
the format is described <a href=acct_mgt.php>here</a>."
);
list_item("acct_mgr_login.xml",
"Contains credentials (name/password) for the account
manager identified in acct_mgr_url.xml.
the format is described <a href=acct_mgt.php>here</a>."
);
$x = html_text(
"<project_init>
<url>PROJECT_URL</url>
<name>PROJECT_NAME</name>
[ <account_key>KEY</account_key> ]
</project_init>
");
list_item("project_init.xml",
"Specifies a project and optionally an account.
The format is $x"
);
list_end();
echo "
<p>
The process of making
an installer with a particular configuration file
depends on the platform:
<ul>
<li> Windows: requires InstallShield or other
installer utility. Contact Rom Walton for details.
<li> Macintosh: Contact Charlie Fenton for details.
<li> Unix: modify the Makefile that generates self-extracting archives.
Should be easy to do yourself.
</ul>
<p>
The startup logic of the BOINC manager is as follows:
<pre>
if the core client is not attached to any projects
if acct_mgr_url.xml exists
if acct_mgr_login.xml exists
issue acct mgr RPC
if new projects
show projects attached
else
show 'go to site and pick projects' dialog
else
jump into acct mgr wizard at get_project_config stage
else if project_init.xml exists
jump into attach project wizard at get_project_config stage
if have account_key
skip prompt for name/password
go to attach_project RPC
else
start attach_project wizard
if URL is that of an acct mgr,
go to acct mgr wizard
</pre>
";
page_tail();
?>

View File

@ -92,6 +92,7 @@ language("Hungarian", array(
site("http://seti.hwsw.hu/", "HWSW SETI@home Team")
));
language("Italian", array(
site("http://gaming.ngi.it/forum/forumdisplay.php?f=73", "NGI forum"),
site("http://it.groups.yahoo.com/group/BOINC-ITALIA/", "BOINC-ITALIA")
));
language("Japanese", array(

54
doc/project_config.php Normal file
View File

@ -0,0 +1,54 @@
<?php
require_once("docutil.php");
page_head("Project XML document");
echo "
Each BOINC project and account manager must provide an XML document
at the address
<pre>
http://PROJECT_URL.get_project_config.php
</pre>
This document has the structure
".html_text("
<project_config>
<name>Project name</name>
[ <min_passwd_length>N</min_passwd_length> ]
[ <account_manager/> ]
[ <uses_username/> ]
[ <account_creation_disabled/> ]
[ <client_account_creation_disabled/> ]
[ <error_num>N</error_num> ]
</project_config>
")."
The elements are:
";
list_start();
list_item("name", "Project name");
list_item("account_manager",
"If present, this is an account manager, not a BOINC project"
);
list_item("uses_username",
"If present, this project uses names (rather than email addresses)
as the primary account identifier"
);
list_item("account_creation_disabled",
"If present, this project is not allowing creation of new accounts"
);
list_item("client_account_creation_disabled",
"If present, this project doesn't allow account creation via web RPCs.
Users must visit the web site to create accounts."
);
list_item("min_passwd_length",
"Minimum password length (for new account creation)"
);
list_item("error_num",
"The project is currently down. A BOINC error number is returned."
);
list_end();
echo "
The BOINC distribution includes a file
<b>html/user/sample_get_project_config.php</b>
that supplies reasonable default values for BOINC projects.
To use this, rename it to <b>get_project_config.php</b>
";
page_tail();
?>

View File

@ -3,6 +3,7 @@
require_once('../inc/forum.inc');
require_once('../inc/util.inc');
require_once('../inc/time.inc');
require_once('../project/project.inc');
db_init();
@ -15,10 +16,22 @@ echo "<p>
<a href=forum_help_desk.php>Questions/problems</a>
area instead of the Message boards.</p>
<p>
Do a <a href=forum_text_search_form.php>keyword search</a>
of messages.
<p>
";
if (true) {
echo "
<form action=http://www.google.com/search>
<input type=hidden name=domains value=".URL_BASE.">
<input type=hidden name=sitesearch value=".URL_BASE."/forum_thread.php>
<input class=small name=q size=20>
<input type=submit value=Search>
</form>
";
} else {
echo "
Do a <a href=forum_text_search_form.php>keyword search</a> of messages.
<p>
";
}
function show_category($category) {
echo "

View File

@ -40,7 +40,13 @@
$private = true;
}
$i = 1;
$result = mysql_query("select * from host where userid=$userid order by rpc_time desc");
$sort_clause = "rpc_time desc";
$sort = get_str("sort", true);
if ($sort == "total_credit") $sort_clause = "total_credit desc";
if ($sort == "expavg_credit") $sort_clause = "expavg_credit desc";
$result = mysql_query("select * from host where userid=$userid order by $sort_clause");
while ($host = mysql_fetch_object($result)) {
show_host_row($host, $i, $private, false);
$i++;