Berkeley Open Infrastructure for Network Computing
From Free net encyclopedia
{{Infobox Software
|name =
BOINC
|logo = Image:Boinc.png
|caption =
|developer = University of California, Berkeley
|latest_release_version = 5.2.13
|latest_release_date = November 29, 2005
|operating_system = Linux, Mac OS X, Solaris, Windows
|genre = Supply of computing power
|license = LGPL
|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 360,000 active computers worldwide processing on average 418 TFLOPS of data as of April 13th 2006[1]. This is 49% more powerful than Blue Gene, the world's fastest computer.
Contents |
SETI@home origins of the BOINC platform
Image:BOINCManager.png SETI@home is one of the better known projects that utilizes the BOINC distributed platform.
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 advanced features
- homogeneous redundancy (sending work units only to computers of the same platform -- ie: 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)
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. 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.
- 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.
BOINC Credit System
Projects using BOINC
Current projects
- Cell Computing — biomedical research. Website (Japanese)
- 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)
- 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
- Leiden Classical — General Classical Dynamics from Leiden University. Website
- Predictor@home — to predict protein structure from protein sequence. Website
- Rosetta@home — to predict and design protein structures. Website
- SETI@home — Search for Extraterrestrial Intelligence (SETI). Website
- SIMAP — is a database of protein similarities using distributed computing to detect sequence similarities. Website
- SZTAKI Desktop Grid — searches for generalized binary number systems. Website
- World Community Grid — advance our knowledge of human disease. Website
Projects under development
These projects are considered to be in the Alpha or Beta development stages. Some may be totally safe for your computer, while others may cause minor damage under select circumstances. Join these projects with caution. It is generally recommended that you only join these projects if you have XP SP2 (or hardened Linux) with CPU hardware (and OS software) that prevents malicous program behavior.
- BURP — to develop a publicly distributed system for rendering 3D animations. Website (Pre-Alpha)
- Folding@home, BOINC version — to understand protein folding, misfolding, and related diseases. (Folding@home is active without BOINC. A future BOINC version is discussed in forums, but not mentioned on the Folding@home website.) Website
- 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)
- LHC@home alpha — help scientists at CERN to simulate particles travelling in the Large Hadron Collider. Website (Closed alpha)
- Orbit@home — monitoring the impact hazard posed by near-Earth objects. Website
- The Lattice Project — to integrate and deploy computing resources for scientific analysis. Website (Alpha)
- Malaria Control — for stochastic modelling of the clinical epidemiology and natural history of Plasmodium falciparum malaria. Website (Alpha)
- PrimeGrid — a project for factoring the number in the RSA Factoring Challenge, and also to test "PerlBOINC". Website (Alpha)
- μFluids@Home — computer simulation of two-phase fluid behavior in microgravity, and microfluidics problems. Website
- Pirates@home — currently being used to test BOINC's forum software for possible use by another project: Interactions in Understanding the Universe. Website
- Ralph@home — Rosetta@home official alpha test project. Website
- SETI@home beta — is currently the test environment for SETI@home programs destined for public use. There is an anciliary 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
- QMC@Home — study the structure and reactivity of molecules using Quantum chemistry. Website
- XtremLab — study of grid technology. Website
Future projects
- Astropulse — searching for primordial black holes, pulsars, and ETI. Website
- PlanetQuest — search for and discover new planets. Website
Proposed projects
There are several proposals for distributed computing projects on the web
- Deepspace Network @ Home
- ECHELON @ Home
- Error Correction @ Home models digital error correction systems
- Ioncap @ Home, ("Unified Ionspheric Computational Model @ Home" [2])
- Image Compression @ Home (finds neural networks that find the optimal settings for image compression) [3]
- Wikipedia Cleanup @ Home
Retired projects
- ALife@Home — an effort to conduct scientific experiments regarding neural networks and evolution on the computers of volunteers.
References
- Vance, Ashlee. (2003). Sun and UC Berkeley are about to BOINC. Retrieved December 18, 2003 from http://www.theregister.co.uk/content/61/34570.html.
See also
External links
- Berkeley Open Infrastructure for Network Computing (BOINC)
- BOINC users and teams statistics (daily updated)
- Unofficial optimized BOINC clients for Linux
- Interview with David Anderson
- Unofficial BOINC "Wiki"
- BOINC miniFAQ
- How-To: Join Distributed Computing projects that benefit humanity
- BOINC Packages for Debian Linux
- BOINC Packages for Fedora Linuxcs:Berkeley Open Infrastructure for Network Computing
da:Berkeley Open Infrastructure for Network Computing de:Berkeley Open Infrastructure for Network Computing fr:Berkeley Open infrastructure for Network Computing it:Berkeley Open Infrastructure for Network Computing hu:Berkeley Open Infrastructure for Network Computing nl:Berkeley Open Infrastructure for Network Computing ja:Berkeley Open Infrastructure for Network Computing pl:BOINC pt:BOINC ru:BOINC sk:BOINC fi:BOINC sv:Berkeley Open Infrastructure for Network Computing zh:BOINC