2002-08-15 21:21:08 +00:00
|
|
|
<title>Introduction to BOINC</title>
|
|
|
|
<h2>Introduction to BOINC</h2>
|
2002-04-30 22:22:54 +00:00
|
|
|
<p>
|
2002-08-15 21:21:08 +00:00
|
|
|
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.
|
2002-04-30 22:22:54 +00:00
|
|
|
<p>
|
2002-08-15 21:21:08 +00:00
|
|
|
The features of BOINC include:
|
2002-04-30 22:22:54 +00:00
|
|
|
<ul>
|
2002-08-15 21:21:08 +00:00
|
|
|
<li>
|
|
|
|
<b>Multiple independent projects</b>
|
|
|
|
<br>
|
|
|
|
BOINC allows multiple independent projects to share participants.
|
|
|
|
Participants download a single <b>core client</b> program,
|
2002-04-30 22:22:54 +00:00
|
|
|
which in turn downloads and executes project-specific executables.
|
2002-08-15 21:21:08 +00:00
|
|
|
Participants can control which projects they participate in,
|
|
|
|
and how their resources are divided among these projects.
|
|
|
|
Since the projects are independent,
|
2002-07-29 19:01:38 +00:00
|
|
|
any downtime for one project will merely result in temporary extra
|
2002-08-15 21:21:08 +00:00
|
|
|
processing power for another.
|
|
|
|
<li>
|
|
|
|
<b>Comprehensive security</b>
|
|
|
|
<br>
|
|
|
|
All file transfers to the host computer are validated with an
|
2002-07-29 19:01:38 +00:00
|
|
|
MD5 checksum, and all executable files are signed with RSA
|
2002-08-15 21:21:08 +00:00
|
|
|
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
|
2002-07-23 22:24:59 +00:00
|
|
|
to continue to function during project downtimes, as well as decrease
|
2002-08-15 21:21:08 +00:00
|
|
|
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,
|
2002-07-29 19:01:38 +00:00
|
|
|
Windows 95 and later, Linux and other Unix systems) and provides OpenGL
|
2002-08-15 21:21:08 +00:00
|
|
|
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
|
2002-07-29 19:01:38 +00:00
|
|
|
BOINC are not required to release the source code of their project
|
2002-08-15 21:21:08 +00:00
|
|
|
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
|
2002-07-29 19:01:38 +00:00
|
|
|
and collection to be spread across many servers, and it allows
|
2002-08-15 21:21:08 +00:00
|
|
|
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
|
2002-07-29 19:01:38 +00:00
|
|
|
applications can be deployed without requiring participants to download.
|
2002-08-15 21:21:08 +00:00
|
|
|
<li>
|
|
|
|
<b>Multiprocessor support</b>.
|
|
|
|
The BOINC client can use multiple CPUs.
|
2002-07-23 22:24:59 +00:00
|
|
|
|
2002-08-15 21:21:08 +00:00
|
|
|
<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
|
2002-07-29 19:01:38 +00:00
|
|
|
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
|
2002-08-15 21:21:08 +00:00
|
|
|
require only open-source components (MySQL, PHP, Apache, and Linux).
|
|
|
|
The BOINC scheduling server also supports FastCGI for enhanced server
|
|
|
|
performance.
|
2002-07-23 22:24:59 +00:00
|
|
|
</ul>
|
2002-07-29 19:01:38 +00:00
|
|
|
</body>
|
|
|
|
</html>
|