Which applications are suitable for BOINC?

BOINC logo

BOINC is designed to support applications that have large computation requirements, storage requirements, or both. A project can gain access to many TeraFLOPs of CPU power and Terabytes of storage.

However, because the resources of a BOINC project are volunteered, (and therefore unreliable and sporadically-connected) an application must have several properties to effectively use BOINC:

Public appeal
An application must be viewed as interesting and worthwhile by the public in order to gain large numbers of participants. A project must have the resources and commitment to maintain this interest, typically by creating a compelling web site and by generating interesting graphics in the application.
Independent parallelism
The application must be divisible into parallel parts with few or no data dependencies.
Low data/compute ratio
Input and output data are sent through commercial Internet connections, which may be expensive and/or slow. As a rule of thumb, if your application produces or consumes more than a gigabyte of data per day of CPU time, then it may be cheaper to use in-house cluster computing rather than volunteer computing.
Fault tolerance
A result returned from a volunteered computer cannot be assumed to be correct. Redundant computing can be used to reduce the error probability, but not all the way to zero. If your application relies on 100% correctness, this may be a problem.

Return to BOINC main page

Last modified 8:52 PM UTC, October 17 2012.
Copyright © 2017 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.