BOINC (Berkeley Open Infrastructure for Network Computing) [1] is an open-source software platform for distributed computing that employs volunteered computer resources. It uses idle CPU cycles of participating computers to perform scientific calculations.

BOINC can be seen as a specialized Grid that is suitable for running applications that are "pleasantly parallel", so that calculations can be distributed to thousands of machines that do not communicate with each other. Such a configuration is ideal for compute-intensive tasks with modest input/output needs. Nevertheless, the BOINC infrastructure is simple and requires only one server, although this can be distributed to several machines for performance reasons.

The applications that are run in a BOINC project must have public appeal so that participants are willing to volunteer their resources. Outreach is an important part of this kind of project, to give the public a sense of direct participation in a scientific project. Attractive screen savers are often provided, together with a credit-based ranking system for users.

Successful projects

The first project to run on BOINC was the famous SETI@home, which analyses data taken from radio telescopes looking for extraterrestrial intelligence. The project has delivered more than 9 million years of aggregate computing time and has attracted more than 5 million volunteered CPUs. BOINC is now being used by many projects in domains such as physics, medicine and climate prediction.

One of the leading BOINC projects is CERN's LHC@home [2,3]. Its first application has been SixTrack, which simulates particles circulating around the Large Hadron Collider (LHC) ring to study the long-term stability of the particle orbits. Other applications of interest to high-energy physics are being prepared. At the moment, the system has about 14 000 active users, 25 000 active hosts and can provide more than 5 Tflops sustained processing rate. This has enabled the computation of more than 700 CPU years in a few months, assuming as typical a 1 KSfp2K CPU that is approximately equivalent to a 2.8 GHz Intel Xeon processor. Of course, this power is not totally free, but the cost:performance ratio is positive, and this is without taking into account the outreach effects. LHC@home still has the potential to become much larger if enough work is available to use the computing capacity that is offered.

In this context a study has been conducted into combining public-resource and Grid computing [4]. Bridges for sending jobs between Grids and public-resource computing projects have been tested and built for LHC Computing Grid [5] and NorduGrid/ARC [6] middleware.

The CoLinux environment that enables Linux to be run as a Windows kernel extension has also been tested for its possible integration with BOINC, to allow jobs to migrate with their own operating system.

One hundred old farm PCs in the Computing Centre that were to be retired have been recycled to run as BOINC clients. We are managing these machines using Quattor with a BOINC client RPM (Redhat Package Manager) that we developed. As well as contributing to LHC@home, the PCs are also enabling studies of metascheduling mechanisms that should make it possible to implement applications with volunteer resources complemented by limited dedicated ones to guarantee quality of service.

A BOINC server RPM has been produced to automate the installation and management of BOINC servers. We are testing it now and have found and resolved some bugs. The RPM and the bug corrections are being fed back to the BOINC project.

Porting other applications

As we are exploring other applications that may be suitable for BOINC, we have ported the Geant4 [7] release test code to BOINC. This application represents a simplified test beam that is used to validate new versions of Geant4. The port has been done for Linux and Windows in collaboration with Geant4 developers. It was presented at the Geant4 workshop 2005 and at CHEP 2006. The next step is to consider more realistic and useful Geant4 models, and we have already made first steps to achieve that.

We have also successfully ported ATLFAST 0.02.22 [8] to the BOINC environment and demonstrated it with a real physics case. This is the FORTRAN version of the ATLAS Fast simulation and reconstruction software, which uses the PYTHIA 6.2 [9] event generator.

The Garfield/Magboltz [10] program for simulating gaseous detectors has been ported to the BOINC framework in co-ordination with the software's author. We have demonstrated real-use cases in Linux using BOINC in recycled farm PCs in the Computing Centre. Although we still have to do a Windows port, we expect to receive requests soon from the LHC experiments for a large-scale production campaign.

Preliminary contacts have been held with research groups in France and Japan regarding a future project called Feynman@home [11]. The groups wish to simulate quantum processes relevant to LHC (and future accelerators such as the International Linear Collider) by calculating their Feynman diagrams using BOINC. This is a computer-intensive task that is closely related to event generators.

We have also helped to start up Africa@home with the Swiss Tropical Institute, the University of Geneva and two NGOs. This is in beta tests and will run agent-based epidemiological models of malaria.

We are also collaborating with the Extremadura region in Spain. The local authorities are going to install BOINC clients in thousands of machines, mostly in schools and hospitals, to run volunteer applications initially provided by CERN. They will also send staff to work at CERN on BOINC infrastructure and application porting. To kick-start the project, a seminar was held at CIEMAT, the Research Centre for Energy, Environment and Technology, in Madrid, attended by representatives from the region. A shorter version of the seminar has been taught as a CERN computing seminar. Slides from these events are included in the LHC@home Twiki area, where we document all BOINC-related work at CERN [12].

We are co-operating with the IS group to deploy the BOINC client to CERN Windows desktops using NICE mechanisms. We plan for a progressive deployment that will start on a voluntary basis in the IT Department. We will subsequently ask for the co-operation of all CERN desktop users in the coming months.

References

1 http://boinc.berkeley.edu
2 http://lhcathome.cern.ch
3 http://athome.web.cern.ch/athome/LHCathome/whatis.html
4 https://twiki.cern.ch/twiki/pub/LHCAtHome/LinksAndDocs/ChristianSoettrupBOINCThesis.pdf
5 http://lcg.web.cern.ch/LCG
6 www.nordugrid.org
7 http://geant4.web.cern.ch/geant4
8 http://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/HIGGS/Atlfast.html
9 http://www.thep.lu.se/~torbjorn/ Pythia.html
10 http://garfield.web.cern.ch/ garfield
11 http://acpp.in2p3.fr/cgi-bin/twiki/bin/view/Feynman/WebHome
12 https://twiki.cern.ch/twiki/bin/view/LHCAtHome/WebHome