Berkeley Open Infrastructure for Network Computing
(Redirected from BOINC)
| BOINC | |
![]() <tr><th>Developer:</th><td>University of California, Berkeley</td></tr><tr><th>Latest release:</th><td>5.4.11 / August 2, 2006</td></tr><tr><th>OS:</th><td>Linux, Mac OS X, Solaris, Windows</td></tr> | |
| Use: | Supply of computing power 615-TFLOPS / 475K-Hosts as of September 9, 2006<tr><th>License:</th><td>LGPL</td></tr> |
|---|---|
| Website: | boinc.berkeley.edu |
The Berkeley Open Infrastructure for Network Computing (BOINC) is a distributed computing infrastructure, originally developed out of the SETI@home project, but intended to be useful to fields beyond SETI. This software platform is open in that it is free and open source software released under the GNU Lesser General Public License. Currently BOINC is being developed by a team based at the University of California, Berkeley led by David Anderson, the project director of SETI@home — a project which uses this software. As a "quasi-supercomputing" platform BOINC has over 475,000 active computers (hosts) worldwide processing on average 615 TFLOPS as of September 9, 2006.[1][2]
Contents |
SETI@home origins of the BOINC platform
SETI@home is one of the better known projects that utilizes the BOINC distributed platform.The original SETI client was a non-BOINC software exclusively for SETI@home.
The success of SETI@home—which after its launch in 1999 quickly became the most powerful computing network ever assembled — made it clear that distributed computing could be used for many other computing-intensive scientific projects.
- The intent of BOINC is to make it possible for researchers in areas as diverse as molecular biology, climatology, and astrophysics to tap into the enormous but under-utilized calculating power of personal computers world-wide. In essence BOINC is software that can use the unused CPU cycles on a computer, to analyse scientific data—what you don't use of your computer, it uses.
BOINC is funded by the National Science Foundation through awards SCI/0221529, SCI/0438443, and SCI/0506411.
Design and structure of BOINC
BOINC is designed to be a free structure for anyone wishing to start a distributed computing project. Most BOINC projects are considered to be nonprofit and rely heavily, if not completely, on volunteers. However, this does not mean BOINC cannot be used for profit. BOINC consists of a server system and client software that communicate with each other to distribute, process, and return work units.
Server structure
A major part of BOINC is the backend server. The server can be run on one or many machines to allow BOINC to be easily scalable to projects of any size. BOINC servers run on Linux based computers and use Apache, PHP, and MySQL as a basis for its web and database systems.
BOINC is simply the information technology infrastructure for distributing work in the form of work units and downloading the distributed applications that process them. BOINC does no useful scientific work itself. Scientific computations are run on user computers and results are analyzed after they are validated and transferred from BOINC into a scientific database.
BOINC servers also provide these features
- homogeneous redundancy (sending work units only to computers of the same platform -- e.g.: Win XP SP2 only.)
- work unit trickling (sending information to the server before the work unit completes)
- locality scheduling (sending work units to computers that already have the necessary files and creating work on demand)
- work distribution based on host parameters (work units requiring 512 MB of RAM, for example, will only be sent to hosts having at least that much RAM[1])
Client structure
BOINC on the client is structured into a number of separate applications. These intercommunicate using the BOINC remote procedure call (RPC) mechanism.
These component applications are:
- The program boinc (or boinc.exe) is the core client.
- The core client is a process which takes care of communications between the client and the server.
- The core client also downloads science applications, provides a unified logging mechanism, makes sure science application binaries are up-to-date, and schedules CPU resources between science applications (if several are installed).
- Although the core client is capable of downloading new science applications, it does not update itself. BOINC's authors felt doing so posed an unacceptable security risk, as well all of the risks that automatic update procedures have in computing.
- On Unix, the core client is generally run as a daemon (or occasionally as a cron job).
- On Windows, BOINC initially was not a Windows service, but an ordinary application. BOINC Client for Windows, Versions 5.2.13 and higher add, during installation, the option of "Service Installation".
- Depending on how the BOINC client software was installed, it can either run in the background like a daemon, or starts when an individual user logs in (and is stopped when the user logs out). The software version management and work-unit handling provided by the core client greatly simplifies the coding of science applications.
- One or several science applications. Science applications perform the core scientific computation. There is a specific science application for each of the distributed computation projects which use the BOINC framework. Science applications use the BOINC daemon to upload and download work units, and to exchange statistics with the server.
- boincmgr (or boincmgr.exe), a GUI which communicates with the core application over RPC(remote procedure call). By default a core client only allows connections from the same computer, but it can be configured to allow connections from other computers (optionally using password authentication); this mechanism allows one person to manage a farm of BOINC installations from a single workstation.A drawback to the use of RPC mechanisms is that they are often felt to be security risks because they can be the route by which hackers can intrude upon targeted computers (even if it's configured for connections from the same computer).
- The GUI is written using the cross-platform WxWidgets toolkit, providing the same user experience on different platforms. Users can connect to BOINC core clients, can instruct those clients to install new science applications, can monitor the progress of ongoing calculations, and can view the BOINC system message logs.
- The BOINC screensaver. This provides a framework whereby science applications can display graphics in the user's screensaver window. BOINC screensavers are coded using the BOINC graphics API, Open GL, and the GLUT toolkit. Typically BOINC screensavers show animated graphics detailing the work underway, perhaps showing graphs or charts or other data visualisation graphics.
- Some science applications do not provide screensaver functionality (or stop providing screensaver images when they are idle). In this circumstance the BOINC screensaver shows a small BOINC logo which bounces around the screen.
- In Mac OS X, the program is able to dynamically take up extra processor speed while you work, varying how much processor time BOINC receives based on how intensively the computer is being used.
- A BOINC network is similar to a hacker/spammers botnet. In BOINC's case, however, it is hoped that the software is installed and operated with the consent of the computer's owner. Since BOINC has features that can render it invisible to the typical user, there is risk that unauthorized and difficult to detect installations may occur. This would aid the accumulation of Boinc-credit points by hobbyists who are competing with others for status within the BOINC-credit subculture.
BOINC Credit System
The BOINC Credit System is designed to avoid cheating by validating results before granting credit. This helps to ensure that users are returning results which are both scientifically and statistically accurate.
Online distributed computing is almost entirely a volunteer endeavor. For this reason projects are dependant on a complicated and variable mix of new users, long-term users, and retiring users. There is no single generic reason why someone chooses to donate his or her computing resources to any given project.
Projects using BOINC
Current projects
Biology and Medicine
- Cell Computing — biomedical research. Website (Japanese)
- Predictor@home — to predict protein structure from protein sequence. Website
- Rosetta@home — to predict and design protein structures. Website
- SIMAP — is a database of protein similarities using distributed computing to detect sequence similarities. Website
- World Community Grid — advance our knowledge of human disease. Website
- TANPAKU — to predict protein structures from ADN sequence Website
Climate modeling
- Climateprediction.net — to try and produce a forecast of the climate in the 21st century. Website
- BBC Climate Change Experiment — Website (part of Climateprediction.net)
- Seasonal Attribution Project — Website (part of Climateprediction.net)
Physics and astronomy
- Einstein@Home — search for spinning neutron stars (also called pulsars) using data from the LIGO and GEO 600 gravitational wave detectors. Website
- LHC@home — help scientists at CERN to simulate particles travelling in the Large Hadron Collider. Website
- SETI@home — Search for Extraterrestrial Intelligence (SETI). Website
Mathematics
- SZTAKI Desktop Grid — searches for generalized binary number systems. Website
Projects under development
These projects are considered to be in the Alpha or Beta development stages. Some might be totally safe for your computer whereas others might under select circumstances cause minor damage (such as overheating).
Mathematics and computing
- BURP — to develop a publicly distributed system for rendering 3D animations. Website (Pre-Alpha)
- RenderFarm@Home — a publicly distributed system for rendering Website (Alpha)
- Chess960@Home — Chess960 is a young innovative chess variant. This project tries to combine Chess960 and the idea of distributed computing to inject some basics of theory to this chess variant. Website (Alpha)
- HashClash@home — The purpose is to extend both theoretical and experimental results on collision generation for the MD5 and SHA1 hash functions. Website (Closed-Beta)
- DepSpid — BOINC based web crawler. Website (Alpha)
- The Lattice Project — to integrate and deploy computing resources for scientific analysis. Website (Alpha)
- PrimeGrid — a project for factoring the number in the RSA Factoring Challenge, and also to test "PerlBOINC". Website (Alpha)
- Project Neuron - to record, observe and understand BOINC activity and data with a view to developing metrics website
- RieselSieve — attempting to solve the Riesel problem. Website
- XtremLab — measures the free resources available on desktop PC's involved in large-scale distributed computing. Results will be used to improve the design of systems, such as BOINC. Website
Biology and Medicine
- Docking@Home — Modelling protein-ligand docking. Website (Closed alpha)
- Folding@home, BOINC version — to understand protein folding, misfolding, and related diseases. Website
- Malaria Control — for stochastic modelling of the clinical epidemiology and natural history of Plasmodium falciparum malaria. Website(beta)
- RALPH@home — Rosetta@home official alpha test project. Website
Physics and astronomy
- Leiden Classical — General Classical Dynamics Grid for any scientist or science student Leiden University Website.
- LHC@home Alpha — LHC@Home official alpha test project. Website (Closed alpha)
- Orbit@home — monitoring the impact hazard posed by near-Earth objects. Website
- Nano-Hive@Home — simulating large-scale nanotech systems. Website (Closed beta)
- Pirates@home — currently being used to test BOINC's forum software for possible use by another project: Interactions in Understanding the Universe. Website
- QMC@Home — study the structure and reactivity of molecules using Quantum Monte Carlo. Website
- SETI@home beta — is currently the test environment for SETI@home programs destined for public use. There is an ancillary SETI@home alpha — test environment for SETI@home beta code, workunits and science. SETI Alpha clients are used to test SETI@home Beta code. Currently Astropulse is in SETI Alpha testing. SETI@home beta web page
- Spinhenge@Home - calculates and simulates spin dynamics in nano scaled molecular magnets. This makes it possibile to create very small switcher for medicine and technicques. Website
- μFluids@Home — computer simulation of two-phase fluid behavior in microgravity, and microfluidics problems. Website
- XtremLab — measures the free resources available on desktop PC's involved in large-scale distributed computing. Results will be used to improve the design of systems, such as BOINC. Website
Future projects
- Astropulse — searching for primordial black holes, pulsars, and ETI. Originally slated for a 2003 release, many feel that it has become vaporware. Website
- PlanetQuest — search for and discover new planets. Website
Retired projects
- ALife@Home — an effort to conduct scientific experiments regarding neural networks and evolution on the computers of volunteers.
Account Managers
A BOINC Account Manager is a web site that simplifies participating in multiple BOINC projects across multiple computers (CPUs) and operating systems. Account managers were designed for people who were new to BOINC or had several computers participating in several projects.
- The account manager concept was originally conceived by GridRepublic
- All account managers have been developed jointly by GridRepublic and BOINC.
- http://bam.boincstats.com/ (The first publicly available Account Manager)
- http://gridrepublic.org/ (GridRepublic)
References
- Vance, Ashlee. "Sun and UC Berkeley are about to BOINC", The Register, December 17, 2003. Retrieved on 2006-11-13.
Notes
- ^ Willy de Zutter (Updated automatically). BOINC combined - Credit overview. BOINCstats.com. Retrieved on 2006-11-13.
- ^ Willy de Zutter (Updated automatically). BOINC combined - Hosts overview. BOINCstats.com. Retrieved on 2006-11-13.
See also
- List of distributed computing projects
- BOINC Credit System
- distributed.net
- United Devices Cancer Research Project
External links
- Berkeley Open Infrastructure for Network Computing (BOINC)
- BOINC stats from The Knights who Say Ni!
- BOINC users and teams statistics (daily updated)
- Another BOINC stats website (updated daily)
- Interview with David Anderson
- Rom Walton's Blog (BOINC Developer)
- Unofficial BOINC "Wiki"
- BOINC miniFAQ
- How-To: Join Distributed Computing projects that benefit humanity
- Another How to install and join BOINC courtesy (and aimed at new members) of BOINC@Hull
- BOINC Packages for Debian
- BOINC Packages for Fedora Core
- Unofficial Optimized BOINC Binaries for MS Windows and OpenBSD
Categories
University of California, Berkeley | Distributed computing | Free science software

