Grid computing with BOINC
Grid versus volunteer computing
Grid computing is a form of distributed computing in which an organization (business, university, etc.) uses its existing computers (desktop and/or cluster nodes) to handle its own long-running computational tasks. This differs from volunteer computing in several ways:
- The computing resources can be trusted; i.e. one can assume that the PCs don't return results that are intentionally wrong, and that they don't falsify credit. Hence there is typically no need for replication.
- There is no need for screensaver graphics; in fact it may be desirable to have the computation be completely invisible and out of the control of the PC user.
- Client deployment is typically automated.
Using BOINC as a grid platform
Although it was originally designed for volunteer computing, BOINC works very well for grid computing. The steps in creating a BOINC-based grid are:
- Set up a BOINC server, develop or port applications, and test them. Set workunit parameters to disable redundancy.
- Create an account with the general preferences that you want enforced on your desktop grid.
- Configure your project to disable account creation.
- Create a custom installer that includes the desired configuration files. Typically, this would include an account file that would attach each client to the account on your project. You might also want to include files that allow clients to be remotely monitored and controlled.
- Deploy your installer; on Windows networks this can be done using Active Directories.
To ensure that outside hosts can't participate in your project or access its files, configure your firewall to prevent HTTP access to your BOINC server.
Some resources
-
The SZTAKI desktop grid project has developed software allowing hierarchical organizations to share resources in a way that reflects the hierarchy.
-
The University of Extremadura is using BOINC to allow a group of peer organizations to form a computational grid. They have developed an open-source system called Jarifa for this purpose.