mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=337
This commit is contained in:
parent
e1efeba9a6
commit
99b8ea4a15
|
@ -56,10 +56,7 @@ PROJECT::~PROJECT() {
|
|||
int PROJECT::parse_prefs(FILE* in) {
|
||||
char buf[256], *p;
|
||||
int retval;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: PROJECT.parse_prefs: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(master_url, "");
|
||||
strcpy(authenticator, "");
|
||||
while (fgets(buf, 256, in)) {
|
||||
|
@ -84,10 +81,6 @@ int PROJECT::parse_state(FILE* in) {
|
|||
char buf[256];
|
||||
STRING256 string;
|
||||
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: PROJECT.parse_state: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
strcpy(project_name, "");
|
||||
strcpy(user_name, "");
|
||||
resource_share = 1;
|
||||
|
@ -123,10 +116,7 @@ int PROJECT::parse_state(FILE* in) {
|
|||
//
|
||||
int PROJECT::write_state(FILE* out) {
|
||||
unsigned int i;
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: PROJECT.write_state: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
"<project>\n"
|
||||
);
|
||||
|
@ -194,10 +184,7 @@ void PROJECT::copy_prefs_fields(PROJECT& p) {
|
|||
|
||||
int APP::parse(FILE* in) {
|
||||
char buf[256];
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: APP.parse: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(name, "");
|
||||
project = NULL;
|
||||
while (fgets(buf, 256, in)) {
|
||||
|
@ -209,10 +196,6 @@ int APP::parse(FILE* in) {
|
|||
}
|
||||
|
||||
int APP::write(FILE* out) {
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: APP.write: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
fprintf(out,
|
||||
"<app>\n"
|
||||
" <name>%s</name>\n"
|
||||
|
@ -246,10 +229,7 @@ int FILE_INFO::parse(FILE* in, bool from_server) {
|
|||
STRING256 url;
|
||||
PERS_FILE_XFER *pfxp;
|
||||
int retval;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: FILE_INFO.parse: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(name, "");
|
||||
strcpy(md5_cksum, "");
|
||||
max_nbytes = 0;
|
||||
|
@ -325,10 +305,7 @@ int FILE_INFO::parse(FILE* in, bool from_server) {
|
|||
//
|
||||
int FILE_INFO::write(FILE* out, bool to_server) {
|
||||
unsigned int i;
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: FILE_INFO.write: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
"<file_info>\n"
|
||||
" <name>%s</name>\n"
|
||||
|
@ -401,10 +378,7 @@ bool FILE_INFO::had_failure() {
|
|||
int APP_VERSION::parse(FILE* in) {
|
||||
char buf[256];
|
||||
FILE_REF file_ref;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: APP_VERSION.parse: unexpected NULL poiner in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(app_name, "");
|
||||
version_num = 0;
|
||||
app = NULL;
|
||||
|
@ -425,10 +399,7 @@ int APP_VERSION::parse(FILE* in) {
|
|||
|
||||
int APP_VERSION::write(FILE* out) {
|
||||
unsigned int i;
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: APP_VERSION.write: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
"<app_version>\n"
|
||||
" <app_name>%s</app_name>\n"
|
||||
|
@ -447,10 +418,7 @@ int APP_VERSION::write(FILE* out) {
|
|||
|
||||
int FILE_REF::parse(FILE* in) {
|
||||
char buf[256];
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: FILE_REF.parse: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(file_name, "");
|
||||
strcpy(open_name, "");
|
||||
fd = -1;
|
||||
|
@ -467,10 +435,7 @@ int FILE_REF::parse(FILE* in) {
|
|||
}
|
||||
|
||||
int FILE_REF::write(FILE* out) {
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: FILE_REF.write: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
" <file_ref>\n"
|
||||
" <file_name>%s</file_name>\n",
|
||||
|
@ -492,10 +457,7 @@ int FILE_REF::write(FILE* out) {
|
|||
int WORKUNIT::parse(FILE* in) {
|
||||
char buf[256];
|
||||
FILE_REF file_ref;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: WORKUNIT.parse: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(name, "");
|
||||
strcpy(app_name, "");
|
||||
version_num = 0;
|
||||
|
@ -524,10 +486,7 @@ int WORKUNIT::parse(FILE* in) {
|
|||
|
||||
int WORKUNIT::write(FILE* out) {
|
||||
unsigned int i;
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: WORKUNIT.write: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
"<workunit>\n"
|
||||
" <name>%s</name>\n"
|
||||
|
@ -546,10 +505,7 @@ int WORKUNIT::write(FILE* out) {
|
|||
|
||||
int RESULT::parse_ack(FILE* in) {
|
||||
char buf[256];
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: RESULT.parse_ack: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(name, "");
|
||||
while (fgets(buf, 256, in)) {
|
||||
if (match_tag(buf, "</result_ack>")) return 0;
|
||||
|
@ -579,10 +535,8 @@ void RESULT::clear() {
|
|||
int RESULT::parse_server(FILE* in) {
|
||||
char buf[256];
|
||||
FILE_REF file_ref;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: RESULT.parse_server: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
clear();
|
||||
while (fgets(buf, 256, in)) {
|
||||
if (match_tag(buf, "</result>")) return 0;
|
||||
if (parse_str(buf, "<name>", name)) continue;
|
||||
|
@ -603,10 +557,8 @@ int RESULT::parse_server(FILE* in) {
|
|||
int RESULT::parse_state(FILE* in) {
|
||||
char buf[256];
|
||||
FILE_REF file_ref;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: RESULT.parse_state: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
clear();
|
||||
while (fgets(buf, 256, in)) {
|
||||
if (match_tag(buf, "</result>")) return 0;
|
||||
if (parse_str(buf, "<name>", name)) continue;
|
||||
|
@ -636,10 +588,7 @@ int RESULT::write(FILE* out, bool to_server) {
|
|||
unsigned int i;
|
||||
FILE_INFO* fip;
|
||||
int n;
|
||||
if(out==NULL) {
|
||||
fprintf(stderr, "error: RESULT.write: unexpected NULL pointer out\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
fprintf(out,
|
||||
"<result>\n"
|
||||
" <name>%s</name>\n"
|
||||
|
|
|
@ -29,9 +29,6 @@
|
|||
#include "scheduler_op.h"
|
||||
|
||||
SCHEDULER_OP::SCHEDULER_OP(HTTP_OP_SET* h) {
|
||||
if(h==NULL) {
|
||||
fprintf(stderr, "error: SCHEDULER_OP: unexpected NULL pointer h\n");
|
||||
}
|
||||
state = SCHEDULER_OP_STATE_IDLE;
|
||||
http_op.http_op_state = HTTP_STATE_IDLE;
|
||||
http_ops = h;
|
||||
|
@ -140,10 +137,6 @@ int SCHEDULER_OP::start_rpc() {
|
|||
int SCHEDULER_OP::init_master_fetch(PROJECT* p) {
|
||||
int retval;
|
||||
|
||||
if (p==NULL) {
|
||||
fprintf(stderr, "error: SCHEDULER_OP.init_master_fetch: NULL pointer p\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
project = p;
|
||||
if (log_flags.sched_op_debug) {
|
||||
printf("Fetching master file for %s\n", project->master_url);
|
||||
|
@ -355,10 +348,7 @@ SCHEDULER_REPLY::~SCHEDULER_REPLY() {
|
|||
int SCHEDULER_REPLY::parse(FILE* in) {
|
||||
char buf[256], *p;
|
||||
int retval;
|
||||
if(in==NULL) {
|
||||
fprintf(stderr, "error: SCHEDULER_REPLY.parse: unexpected NULL pointer in\n");
|
||||
return ERR_NULL;
|
||||
}
|
||||
|
||||
strcpy(message, "");
|
||||
strcpy(message_priority, "");
|
||||
request_delay = 0;
|
||||
|
|
118
doc/index.html
118
doc/index.html
|
@ -1,12 +1,32 @@
|
|||
<title>Berkeley Open Infrastructure for Network Computing (BOINC)</title>
|
||||
<title>Berkeley Open Infrastructure for Network Computing (BOINC)</title>
|
||||
<body bgcolor="#FFFFFF">
|
||||
<h2>Berkeley Open Infrastructure for Network Computing (BOINC)</h2>
|
||||
<h2>Berkeley Open Infrastructure for Network Computing (BOINC)</h2>
|
||||
|
||||
Berkeley Open Infrastructure for Network Computing (BOINC) is a software platform for public-participation distributed computing projects like
|
||||
distributed.net and SETI@home.
|
||||
|
||||
<ul>
|
||||
<li> <a href="intro.html">Introduction</a>
|
||||
<li> <a href="intro.html">Introduction</a>
|
||||
</ul>
|
||||
<h3>Developing distributed applications with BOINC</h3>
|
||||
|
||||
<h3>Participating in BOINC projects</h3>
|
||||
<font size=-1>
|
||||
<dd> How to donate your unused computing power
|
||||
to projects that use BOINC.
|
||||
</font>
|
||||
<ul>
|
||||
<li><a href=project.html>Projects</a>
|
||||
<li> <a href="account.html">Participant accounts</a>
|
||||
<li> <a href="prefs.html">Preferences</a>
|
||||
<li> <a href="startup.html">Participant startup</a>
|
||||
</ul>
|
||||
|
||||
<h3>Designing a distributed computation with BOINC</h3>
|
||||
<font size=-1>
|
||||
<dd> Read this if you are considering using distributed computing
|
||||
for your a compute- or storage-intensive application.
|
||||
</font>
|
||||
<ul>
|
||||
<li><a href=parallelize.html>Is your application suitable?</a>
|
||||
<li><a href=files.html>Compute model: files and file references</a>
|
||||
<li><a href=app.html>Compute model: applications, platforms and versions</a>
|
||||
<li><a href=work.html>Compute model: workunits</a>
|
||||
|
@ -17,55 +37,63 @@
|
|||
<li><a href=file_access.html>Compute model: remote file access</a>
|
||||
<li><a href=validation.html>Accounting and result validation</a>
|
||||
<li><a href=back_end.html>Back end examples</a>
|
||||
</ul>
|
||||
|
||||
<h3>Developing a BOINC application</h3>
|
||||
<font size=-1>
|
||||
<dd> Read this to learn how to port an application to BOINC.
|
||||
</font>
|
||||
<ul>
|
||||
<li><a href=api.html>The API</a>
|
||||
<li><a href=graphics.html>The graphics API</a>
|
||||
<li><a href=dev.html>Application development</a>
|
||||
<li><a href=dev.html>Application development</a></ul>
|
||||
|
||||
<h3>Setting up a BOINC server</h3>
|
||||
<font size=-1>
|
||||
<dd> Read this to learn how to create a BOINC project.
|
||||
</font>
|
||||
<ul>
|
||||
<li><a href=project.html>Projects</a>
|
||||
<li> <a href="master_url.html">The master URL</a>
|
||||
<li> <a href=road_map.html>Road map of the BOINC software</a>
|
||||
<li> <a href="install.html">Installing a BOINC server</a>
|
||||
<li> <a href="project_startup.html">Project startup checklist</a>
|
||||
<li> <a href="sched_server.html">The BOINC scheduling server</a>
|
||||
<li> <a href="test.html">Test applications and scripts</a>
|
||||
</ul>
|
||||
|
||||
<h3>Road map of the BOINC software distribution</h3>
|
||||
<h3>Developing and operating the back end of a BOINC project</h3>
|
||||
<font size=-1>
|
||||
<dd> Read this to learn how to feed work into a BOINC system,
|
||||
and collect the results.
|
||||
</font>
|
||||
<ul>
|
||||
<li> <a href=road_map.html>Road map</a>
|
||||
<li> <a href="tools_security.html">Operational tools: security</a>
|
||||
<li> <a href="tools_other.html">Operational tools: applications and versions</a>
|
||||
<li> <a href="tools_work.html">Operational tools: work and results</a>
|
||||
<li> <a href="security.html">Security</a>
|
||||
</ul>
|
||||
|
||||
<h3>Operating a BOINC project</h3>
|
||||
<h3>Implementation and debugging of BOINC</h3>
|
||||
<font size=-1>
|
||||
<dd> Read this to learn how to debug and enhance the BOINC software.
|
||||
</font>
|
||||
<ul>
|
||||
<li> <a href="install.html">Installing a BOINC server</a>
|
||||
<li> <a href="master_url.html">The master URL</a>
|
||||
<li> <a href="project_startup.html">Project startup checklist</a>
|
||||
<li> <a href="database.html">The BOINC database</a>
|
||||
<li> <a href="sched_server.html">The BOINC scheduling server</a>
|
||||
<li> <a href="tools_security.html">Operational tools: security</a>
|
||||
<li> <a href="tools_other.html">Operational tools: applications and versions</a>
|
||||
<li> <a href="tools_work.html">Operational tools: work and results</a>
|
||||
<li> <a href="security.html">Security</a>
|
||||
<li> <a href="database.html">The BOINC database</a>
|
||||
<li> <a href="client_files.html">Core Client: file structure</a>
|
||||
<li> <a href="client_fsm.html">Core Client: FSM structure</a>
|
||||
<li> <a href="client_data.html">Core Client: data structures</a>
|
||||
<li> <a href="client_logic.html">Core client: logic</a>
|
||||
<li> <a href="client_debug.html">Core client: debugging</a>
|
||||
<li> <a href="protocol.html">The BOINC client/server protocol</a>
|
||||
<li> <a href="sched_policy.html">Scheduling server: policy</a>
|
||||
<li> <a href="sched_impl.html">Scheduling server: implementation</a>
|
||||
<li> <a href="sched_debug.html">Scheduling server: debugging</a>
|
||||
<li> <a href="host_measure.html">Host measurements</a>
|
||||
<li> <a href="rpc_policy.html">Scheduler RPC timing and retry policies</a>
|
||||
<li> <a href="pers_file_xfer.html">Persistent file transfers</a>
|
||||
</ul>
|
||||
|
||||
<h3>The BOINC client</h3>
|
||||
<ul>
|
||||
<li> <a href="client_files.html">Core Client: file structure</a>
|
||||
<li> <a href="client_fsm.html">Core Client: FSM structure</a>
|
||||
<li> <a href="client_data.html">Core Client: data structures</a>
|
||||
<li> <a href="client_logic.html">Core client: logic</a>
|
||||
<li> <a href="client_debug.html">Core client: debugging</a>
|
||||
</ul>
|
||||
|
||||
<h3>Participating in BOINC projects</h3>
|
||||
<ul>
|
||||
<li> <a href="account.html">Participant accounts</a>
|
||||
<li> <a href="prefs.html">Preferences</a>
|
||||
<li> <a href="startup.html">Participant startup</a>
|
||||
</ul>
|
||||
<h3>Implementation and debugging notes</h3>
|
||||
<ul>
|
||||
<li> <a href="test.html">Test applications and scripts</a>
|
||||
<li> <a href="protocol.html">The BOINC client/server protocol</a>
|
||||
<li> <a href="sched_policy.html">Scheduling server: policy</a>
|
||||
<li> <a href="sched_impl.html">Scheduling server: implementation</a>
|
||||
<li> <a href="sched_debug.html">Scheduling server: debugging</a>
|
||||
<li> <a href="host_measure.html">Host measurements</a>
|
||||
<li> <a href="rpc_policy.html">Scheduler RPC timing and retry policies</a>
|
||||
<li> <a href="pers_file_xfer.html">Persistent file transfers</a>
|
||||
</ul>
|
||||
<a href="http://sourceforge.net"><img
|
||||
src="http://sourceforge.net/sflogo.php?group_id=52437&type=5"
|
||||
width="210" height="62" border="0" alt="SourceForge Logo"></a>
|
||||
width="210" height="62" border="0" alt="SourceForge Logo"></a>
|
||||
|
|
232
doc/intro.html
232
doc/intro.html
|
@ -1,153 +1,115 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Introduction to BOINC</title>
|
||||
<meta name="generator" content="BBEdit 6.1.2">
|
||||
</head>
|
||||
<body>
|
||||
<h2>Introduction to BOINC</h2>
|
||||
<title>Introduction to BOINC</title>
|
||||
<h2>Introduction to BOINC</h2>
|
||||
<p>
|
||||
Berkeley Open Infrastructure for Network Computing (BOINC) is a
|
||||
software platform for public-participation distributed computing
|
||||
projects like distributed.net and SETI@home. BOINC supports applications
|
||||
that can be divided into large parallel parts with few data
|
||||
dependencies; it is not presently intended for fine-grained parallel
|
||||
applications.
|
||||
</p>
|
||||
BOINC supports applications
|
||||
that can be divided into large parallel parts with few data dependencies;
|
||||
it is not presently intended for fine-grained parallel applications.
|
||||
<p>
|
||||
The features of BOINC include:
|
||||
</p>
|
||||
The features of BOINC include:
|
||||
<ul>
|
||||
<li>
|
||||
<b>Multiple Independent Projects</b>
|
||||
<br>
|
||||
BOINC allows multiple independent projects to share
|
||||
participants. Participants download a single <b>core client</b> program,
|
||||
<li>
|
||||
<b>Multiple independent projects</b>
|
||||
<br>
|
||||
BOINC allows multiple independent projects to share participants.
|
||||
Participants download a single <b>core client</b> program,
|
||||
which in turn downloads and executes project-specific executables.
|
||||
Participants can control how their resources are divided among the
|
||||
projects and which projects they participate in. Participants may also
|
||||
control how many applications are running at once, thereby taking
|
||||
advantage of multiple CPU systems. Since the projects are independent,
|
||||
Participants can control which projects they participate in,
|
||||
and how their resources are divided among these projects.
|
||||
Since the projects are independent,
|
||||
any downtime for one project will merely result in temporary extra
|
||||
processing power for another.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Comprehensive Security</b>
|
||||
<br>
|
||||
All file transfers to the host computer are validated with an
|
||||
processing power for another.
|
||||
<li>
|
||||
<b>Comprehensive security</b>
|
||||
<br>
|
||||
All file transfers to the host computer are validated with an
|
||||
MD5 checksum, and all executable files are signed with RSA
|
||||
public/private key encryption (1024 bit default). See the <a
|
||||
href="security.html">security</a> page for more details.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Host Work Caching</b>
|
||||
<br>
|
||||
The BOINC core client will download enough work to keep the host
|
||||
busy for a user specifiable amount of time. This will allow the client
|
||||
public/private key encryption (1024 bit default).
|
||||
See the <a href="security.html">security</a> page for more details.
|
||||
<li>
|
||||
<b>Host work caching</b>
|
||||
<br>
|
||||
The BOINC core client will download enough work to keep the host
|
||||
busy for a user specifiable amount of time.
|
||||
This will allow the client
|
||||
to continue to function during project downtimes, as well as decrease
|
||||
the frequency of connections to servers.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Multiple Platform Support</b>
|
||||
<br>
|
||||
The BOINC core client can run on almost any platform (Mac OS X,
|
||||
the frequency of connections to servers.
|
||||
<li>
|
||||
<b>Multiple platform support</b>
|
||||
<br>
|
||||
The BOINC core client can run on almost any platform (Mac OS X,
|
||||
Windows 95 and later, Linux and other Unix systems) and provides OpenGL
|
||||
based graphics support on Mac OS X, Windows 95 and up, and X Windows.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Multiple Server Support</b>
|
||||
<br>
|
||||
The BOINC architecture supports multiple scheduling and data
|
||||
servers. If one server is temporarily unavailable, clients will
|
||||
automatically try alternate servers. If all servers are unavailable,
|
||||
clients will perform random exponential backoff to avoid flooding the
|
||||
server.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Open Source</b>
|
||||
<br>
|
||||
BOINC is fully open source and is distributed under the Mozilla
|
||||
Public License version 1.0. Under this license, projects that utilize
|
||||
based graphics support on Mac OS X, Windows 95 and up, and X Windows.
|
||||
<li>
|
||||
<b>Multiple server support</b>
|
||||
<br>
|
||||
The BOINC architecture supports multiple scheduling and data servers.
|
||||
If one server is temporarily unavailable,
|
||||
clients automatically try alternate servers.
|
||||
If all servers are unavailable,
|
||||
clients perform random exponential backoff to avoid flooding the server.
|
||||
<li>
|
||||
<b>Open source</b>
|
||||
<br>
|
||||
BOINC is open source; it's distributed under the Mozilla
|
||||
Public License version 1.0.
|
||||
Projects that use
|
||||
BOINC are not required to release the source code of their project
|
||||
specific applications, though they are encouraged to do so. This means
|
||||
BOINC is well suited for private, commercial, or public distributed
|
||||
computing projects.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Support for Large Data Computations</b>
|
||||
<br>
|
||||
BOINC supports applications that produce or consume large
|
||||
amounts of data (on the order of gigabytes). It allows data distribution
|
||||
specific applications.
|
||||
BOINC can be used for private, commercial, or public distributed
|
||||
computing projects.
|
||||
<li>
|
||||
<b>Support for large data</b>
|
||||
<br>
|
||||
BOINC supports applications that produce or consume large
|
||||
amounts of data (on the order of gigabytes).
|
||||
It allows data distribution
|
||||
and collection to be spread across many servers, and it allows
|
||||
participant hosts to do large data transfers unobtrusively. Users are
|
||||
able to specify maximum storage usage so that BOINC doesn't fill up
|
||||
their disk. BOINC also handles network disconnections and allows
|
||||
user-specifiable network bandwidth restrictions.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Extreme Resource Requirement Support</b>
|
||||
<br>
|
||||
BOINC supports applications with extreme requirements for
|
||||
memory, disk, cache or other resources. Work is dispatched only to hosts
|
||||
able to handle it.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Application Program Interface</b>
|
||||
<br>
|
||||
An Application Program Interface (API) is provided to
|
||||
application developers to ease integration with BOINC. See the <a
|
||||
href="api.html">API page</a> for details.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Support for Applications in any Language</b>
|
||||
<br>
|
||||
BOINC applications can be developed in any language (C++,
|
||||
Fortran, Perl). An application can consist of several files (e.g.
|
||||
multiple programs and a coordinating script). New versions of
|
||||
participant hosts to transfer large data unobtrusively.
|
||||
Users are able to specify maximum disk usage.
|
||||
BOINC also handles network disconnections and allows
|
||||
user-specifiable network bandwidth restrictions.
|
||||
<li>
|
||||
<b>Extreme resource requirement support</b>
|
||||
<br>
|
||||
BOINC supports applications with extreme requirements for
|
||||
memory, disk, cache or other resources.
|
||||
Work is dispatched only to hosts
|
||||
able to handle it.
|
||||
<li>
|
||||
<b>Application program Interface</b>
|
||||
<br>
|
||||
An Application Program Interface (API) is provided to
|
||||
application developers to ease integration with BOINC.
|
||||
See the <a href="api.html">API page</a> for details.
|
||||
<li>
|
||||
<b>Support for applications in any language</b>
|
||||
<br>
|
||||
BOINC applications can be developed in any language (C++,
|
||||
Fortran, Perl).
|
||||
An application can consist of several files
|
||||
(e.g. multiple programs and a coordinating script).
|
||||
New versions of
|
||||
applications can be deployed without requiring participants to download.
|
||||
<li>
|
||||
<b>Multiprocessor support</b>.
|
||||
The BOINC client can use multiple CPUs.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Web Based User and Administrative Interfaces</b>
|
||||
<br>
|
||||
A set of PHP scripts is included to provide interfaces for user
|
||||
and administrative tasks. These include preference editing, account
|
||||
creation and user information display.
|
||||
<br>
|
||||
<br>
|
||||
</li>
|
||||
<li>
|
||||
<b>Database and Server Architecture</b>
|
||||
<br>
|
||||
BOINC provides a SQL schema, database functions, a simple server
|
||||
<li>
|
||||
<b>Web Based User and Administrative Interfaces</b>
|
||||
<br>
|
||||
A set of PHP scripts is included to provide interfaces for user
|
||||
and administrative tasks.
|
||||
These include preference editing, account creation and user information display.
|
||||
<li>
|
||||
<b>Database and server architecture</b>
|
||||
<br>
|
||||
BOINC provides a SQL schema, database functions, a simple server
|
||||
architecture, web based user interfaces and server administration tools.
|
||||
Each project must provide and maintain its own server systems and
|
||||
backend result processing but these systems can be set up easily and
|
||||
require only open-source components (MySQL, PHP, Apache, and Linux). The
|
||||
BOINC scheduling server also supports FastCGI for enhanced server
|
||||
performance.
|
||||
</li>
|
||||
require only open-source components (MySQL, PHP, Apache, and Linux).
|
||||
The BOINC scheduling server also supports FastCGI for enhanced server
|
||||
performance.
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
add_user("prefs.xml");
|
||||
add_app("upper_case", "windows_intelx86", "upper_case.exe");
|
||||
create_work("-appname upper_case -rsc_iops 180000000000.0 -rsc_fpops 0.0 -wu_name uc_wu -wu_template uc_wu -result_template uc_result -nresults 2 input input input input input");
|
||||
start_feeder();
|
||||
//start_feeder();
|
||||
//stop_feeder();
|
||||
//check_results_done();
|
||||
//compare_file("uc_wu_0_0", "uc_correct_output");
|
||||
|
|
Loading…
Reference in New Issue