mirror of https://github.com/BOINC/boinc.git
98 lines
3.7 KiB
HTML
98 lines
3.7 KiB
HTML
<h2>Introduction</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>
|
|
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,
|
|
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.
|
|
<p>
|
|
</li>
|
|
|
|
<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.
|
|
<p>
|
|
</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
|
|
to continue to function during project downtimes, as well as decrease
|
|
the frequency of connections to servers.
|
|
<p>
|
|
</li>
|
|
|
|
<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.
|
|
<p>
|
|
</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 BOINC are not required to
|
|
release the source code of their project specific applications, though they
|
|
are encouraged to do so.
|
|
<p>
|
|
</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 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.
|
|
<p>
|
|
</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.
|
|
<p>
|
|
</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.
|
|
<p>
|
|
</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 applications can be deployed
|
|
without requiring participants to download. Separate alpha, beta, and production versions
|
|
are distributed to the appropriate set of hosts.
|
|
<p>
|
|
</li>
|
|
|
|
<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).
|
|
<p>
|
|
</li>
|
|
|
|
</ul>
|