Version 17 (modified by 6 years ago) (diff) | ,
---|
BOINC's support for volunteer computing
BOINC provides a number of features that address the specific needs of volunteer computing:
- Project autonomy
- Many projects use BOINC. Projects are independent; each one operates its own servers and databases. There is no central directory or approval process.
- Volunteer flexibility
- Volunteers can participate in multiple projects; they control which projects they participate in, and how their resources are divided among these projects. When a project is down or has no work, the resources of its volunteers are divided among other projects.
- Flexible application framework
- Existing applications in common languages (C, C++, Fortran) can run as BOINC applications with little or no modification. An application can consist of several files (e.g. multiple programs and a coordinating script). New versions of applications can be deployed without needing any action by volunteers.
- Security
- BOINC protects against several types of attacks. For example, digital signatures based on public-key encryption protect against the distribution of viruses.
- Server performance and scalability
- The BOINC server software is extremely efficient, so that a single mid-range server can dispatch and handle millions of jobs per day. The server architecture is also highly scalable, making it easy to increase server capacity or availability by adding more machines.
- Source code availability
- BOINC is distributed under the Lesser General Public License. However, BOINC applications need not be open source.
- Support for large data
- BOINC supports applications that produce or consume large amounts of data, or that use large amounts of memory. Data distribution and collection can be spread across many servers, and participant hosts transfer large data unobtrusively. Users can specify limits on disk usage and network bandwidth. Work is dispatched only to hosts able to handle it.
- Multiple participant platforms
- The BOINC core client is available for most common platforms (Mac OS X, Windows, Linux and other Unix systems). The client can use multiple CPUs.
- Open, extensible software architecture
- BOINC provides documented interfaces to many of its key components, making it possible for third-party developers to create software and web sites that extend BOINC.
- Volunteer community features
- BOINC provides web-based tools, such as message boards, user profiles, and private messaging, that encourage volunteers to form online communities.