*** empty log message ***

svn path=/trunk/boinc/; revision=6254
This commit is contained in:
David Anderson 2005-05-26 20:25:00 +00:00
parent 3bb938159e
commit 356f447680
8 changed files with 63 additions and 27 deletions

View File

@ -7082,3 +7082,12 @@ David 25 May 2005
app_control.C
cs_apps.C
cs_benchmark.C
David 26 May 2005
- feeder: added a "-mod n i" option.
This lets you run schedulers on more than one host.
db/
boinc_db.C,h
sched/
feeder.C

View File

@ -1211,7 +1211,9 @@ void WORK_ITEM::parse(MYSQL_ROW& r) {
strcpy2(wu.result_template_file, r[i++]);
}
int DB_WORK_ITEM::enumerate(int limit, const char* order_clause) {
int DB_WORK_ITEM::enumerate(
int limit, const char* select_clause, const char* order_clause
) {
char query[MAX_QUERY_LEN];
int retval;
MYSQL_ROW row;
@ -1221,9 +1223,11 @@ int DB_WORK_ITEM::enumerate(int limit, const char* order_clause) {
"select high_priority result.id, workunit.* from result left join workunit "
"on workunit.id = result.workunitid "
"where result.server_state=%d "
"%s"
" %s "
" %s "
"limit %d",
RESULT_SERVER_STATE_UNSENT,
select_clause,
order_clause,
limit
);

View File

@ -618,7 +618,7 @@ class DB_WORK_ITEM : public WORK_ITEM, public DB_BASE_SPECIAL {
public:
DB_WORK_ITEM(DB_CONN* p=0);
// CURSOR cursor;
int enumerate(int limit, const char* order_clause);
int enumerate(int limit, const char* select_clause, const char* order_clause);
// used by feeder
int read_result();
// used by scheduler to read result server state

View File

@ -31,6 +31,19 @@ then use the daemon program
<a href=busy_work.php>make_work</a>
to copy this workunit as needed to maintain a given supply of work.
<h3>Feeder</h3>
<p>
This program is supplied by BOINC and is application independent.
It creates a shared-memory segment used to pass database records
to CGI scheduler processes.
It has the command-line option:
<pre>
-mod n i
</pre>
If present, this instance of the feeder will handle
only workunits for which mod(id, n) = i.
This lets you run schedulers on arbitrarily many machines.
<h3>Transitioner</h3>
<p>
This program is supplied by BOINC and is application independent.

View File

@ -81,6 +81,7 @@ show_name("Jakob Pedersen");
show_name("Stephen Pellicer");
show_name("Reinhard Prix");
show_name("Andy Read");
show_name("Kevin Reed");
show_name("Thomas Richard");
show_name("Nikolay Saharov");
show_name("Jens Seidler");

View File

@ -49,6 +49,8 @@ computer resources
investigate protein-related diseases
<li><a href=http://setiweb.ssl.berkeley.edu/>SETI@home</a>:
Look for radio evidence of extraterrestrial life
<li><a href=http://www.cellcomputing.net/>Cell Computing</a>
(Japanese; requires nonstandard client software)
</ul>
To participate in a project:
<br>

View File

@ -61,11 +61,11 @@ $w419 = array(
"date"=>"25 Jan 2005",
"type"=>win_old(),
null,
"<ul>
"bugs"=>"<ul>
<li> Doesn't work with some HTTP proxies (fixed in later versions).
<li>
If BOINC runs at the same time as Windows XP 3D screensavers,
the system becomes sluggish and unresponsive.
If BOINC runs at the same time as Windows XP 3-D screensavers,
the system becomes sluggish.
</ul>
"
);
@ -78,8 +78,9 @@ $w443= array(
"type"=>win_new(),
"features"=>"<ul>
<li>
Scheduling within the client software package has been improved to support
a larger group of projects.
When a slow computer is attached to a large number of projects,
BOINC does work only for a few of them at a time,
to avoid missed deadlines.
<li>
Fixes a bug in which Intellisense/Intellipoint
closes applications while in screensaver mode.
@ -88,8 +89,8 @@ $w443= array(
<li>
A new 'Select Computer' dialog remembers which computers you have connected to.
<li>
A new statistics tab has been added to the BOINC manager (thanks to
Jens Breitbart for the great feature).
A new statistics tab has been added to the BOINC manager
(thanks to Jens Breitbart for the great feature).
<li>
Support for UMTS networks.
<li>
@ -97,8 +98,7 @@ $w443= array(
<li>
<a href=gui_rpc.php>Password protection for GUI access</a>.
<li>
BOINC Manager now sports a new button based interface which replaces the
html based interface in previous versions.
BOINC Manager now uses buttons instead of web-type links.
</ul>
",
"bugs"=>"<ul>
@ -108,20 +108,17 @@ $w443= array(
or the Single-user install type with the password protect screensaver
option on NT based machines.
<li>
If BOINC runs at the same time as Windows XP 3D screensavers,
If BOINC runs at the same time as Windows XP 3-D screensavers,
the system becomes sluggish and unresponsive.
<li>
Dial-up users should choose the single-user installation.
<li>
Graphics sometimes do not work with ATI Graphics card.
If you have this problem,
please visit
If you have this problem, please visit
<a href=http://setiweb.ssl.berkeley.edu/forum_thread.php?id=12948>the SETI@home Q&A area</a>,
fill in the requested information, and click on the
\"I also have this question\" button.
</ul>
If you experience any of these problems,
we recommend using BOINC version 4.19.
"
);
@ -133,10 +130,8 @@ $m443 = array(
"type"=>mac_advanced(),
"bugs"=>"<ul>
<li>
We have dropped the requirement of our distribution running on 10.2 since 10.4 has been released. You should still be able to build the client yourself and have it run on a 10.2 machine.
BOINC no longer works on Mac OS 10.2.
</ul>
If you experience any of these problems,
we recommend using BOINC version 4.19.
"
);
@ -147,8 +142,6 @@ $m443c = array(
"date"=>"21 May 2005",
"type"=>bare_core(),
"bugs"=>"
If you experience any of these problems,
we recommend using BOINC version 4.19.
"
);
@ -166,7 +159,7 @@ $m437s = array(
"file"=>"boinc_menubar_v4.43_(4)_mac.zip",
"date"=>"23 May 2005",
"type"=>mac_simple(),
"bugs"=>"<li>Includes improved BOINC client</li>
"features"=>"<ul><li>Includes improved BOINC client
</ul>
"
);

View File

@ -19,8 +19,12 @@
// -------------------------------
//
// feeder [-asynch] [-d debug_level] [-random_order | -priority_order]
// -asynch fork and run in a separate process
// feeder
// [ -asynch ] fork and run in a separate process
// [ -d x ] debug level x
// [ -random_order ] order by "random" field of result
// [ -priority_order ] order by "priority" field of result
// [ -mod n i ] handle only results with (id mod n) == i
//
// Creates a shared memory segment containing DB info,
// including the work array (results/workunits to send).
@ -125,6 +129,7 @@ SCHED_CONFIG config;
SCHED_SHMEM* ssp;
key_t sema_key;
const char* order_clause="";
char select_clause[256];
void cleanup_shmem() {
detach_shmem((void*)ssp);
@ -216,7 +221,7 @@ static void scan_work_array(
break;
#endif
case WR_STATE_EMPTY:
retval = wi.enumerate(ENUM_LIMIT, order_clause);
retval = wi.enumerate(ENUM_LIMIT, select_clause, order_clause);
if (retval) {
// if we already restarted the enum on this array scan,
@ -232,7 +237,7 @@ static void scan_work_array(
// restart the enumeration
//
restarted_enum = true;
retval = wi.enumerate(ENUM_LIMIT, order_clause);
retval = wi.enumerate(ENUM_LIMIT, select_clause, order_clause);
log_messages.printf(SCHED_MSG_LOG::DEBUG,
"restarting enumeration\n"
);
@ -384,6 +389,15 @@ int main(int argc, char** argv) {
order_clause = "order by random ";
} else if (!strcmp(argv[i], "-priority_order")) {
order_clause = "order by priority desc ";
} else if (!strcmp(argv[i], "-mod")) {
int n = atoi(argv[++i]);
int j = atoi(argv[++i]);
sprintf(select_clause, "and result.id %% d = %d ", n, j);
} else {
log_messages.printf(SCHED_MSG_LOG::CRITICAL,
"bad cmdline arg: %s\n", argv[i]
);
exit(1);
}
}