= 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: * [ServerIntro Set up a BOINC server], develop or port applications, and test them. Set [JobIn workunit parameters] to disable redundancy. * Create an account with the [userw:Preferences general preferences] that you want enforced on your desktop grid. * [ProjectOptions Configure your project] to disable account creation. * [userw:Deploying_BOINC_on_networks Create a custom installer] that includes the desired [UnixClient 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 [http://desktopgrid.hu/ 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 [http://jarifa.unex.es open-source system called Jarifa] for this purpose. See a [http://www.unex.es/unex/grupos/grupos/gea/estructura/ponencias/pagina_ponencia?listado_personal=1&idponencia=15755 description of an earlier version of the system]. == Integrating BOINC with other grid platforms == * [http://www.cs.wisc.edu/condor/manual/v6.7/3_13Setting_Up.html#SECTION004139000000000000000 Run BOINC using Condor's backfill mechanism] * Researchers are CERN have set up a system where submitted jobs are sent either to a BOINC project or to a GRAM job manager. They developed two utilities, `kill_wu` and `poll_wu`, to support this. They are in the boinc/tools directory. Contact Christian Søttrup (chrulle at fatbat.dk) for more info. * The [http://lattice.umiacs.umd.edu/ Lattice] project from the University of Maryland has developed a Grid system that integrates Globus, BOINC, and several other software components. * The [http://cbl-boinc-server2.cs.technion.ac.il/superlinkattechnion/ SuperLink] project from Technion University developed a system that dynamically assigns jobs to a central server, a local cluster, the EGEE grid, or a BOINC project, based on their estimated runtime. * The [http://mindmodeling.org/ MindModeling@Home] project has incorporated two United States Air Force Department of Defence LSF clusters and an additional Beowulf cluster in their beta project. Tools to facilitate this included: LSF submission scripts, control scripts to dynamically clean up potentially reschedule clients upon node time out and a multiple BOINC instance installer.