Introduction
Berkeley Open Infrastructure for Distributed 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 intended for fine-grained parallel applications.
The features of BOINC include:
- BOINC allows multiple independent projects
to share participants.
Participants download a single core client program,
which in turn downloads and executes project-specific executables.
Participants can control how their resources are divided among the projects.
- BOINC supports applications that produce or consume large amounts of data.
It allows data distribution and collection to be
spread across many servers,
and it allows participant hosts to do large data transfers unobtrusively.
- BOINC supports applications with extreme requirements for
memory or other resources.
Work is dispatched only to hosts able to handle it.
- 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 participant download.
Separate alpha, beta, and production versions
are distributed to the appropriate set of hosts.
- The BOINC core client can run on almost any platform
(Mac, Windows, Linux and other Unix systems).
- A BOINC project must provide and maintain its own server systems,
but these systems can be set up easily and involve
only open-source components (MySQL, PHP, Apache, and Linux).
- BOINC is distributed under the Mozilla license.