BOINC - Berkeley Open Infrastructure for Network Computing

BOINC comes as an official part of Debian. Just install the packages 'boinc-client' and 'boinc-manager'. Then start the 'boincmgr' application to join the project of your liking.

The remainder of this page helps the maintainers of these packages to organise themselves. It may serve the curiosity of the one or other casual visitor and possibly attracts more helping hands. Ignore it as a first visitor.

http://boinc.berkeley.edu/old_logo/setup.PNG


?TableOfContents(3)

Separate pages were created for:

?Anchor(Introduction)

1. Introduction

This page accompanies an ["Alioth"] [http://alioth.debian.org/projects/pkg-boinc/ project of the same name] on the creation of respective ["DebianPackage"]s. A detailed introduction to [http://boinc.berkeley.edu/ BOINC] itself is available on the wiki pages of [http://boinc-wiki.ath.cx/index.php?title=BOINC_FAQ:_Introduction_To_BOINC boinc-wiki.ath.cx] and [http://en.wikipedia.org/wiki/BOINC en.wikipedia.org]. In short, BOINC provides an infrastructure for distributed computing that is currently applied for various scientific problems. Hence, everybody can do something beneficial to the world at large while one's computer is not in use.

1.1. Benefits of Debian for BOINC

The main criticism of the BOINC project is that it would be difficult to install. Well, to install packages in ["Debian"] is not difficult and we give explicit instructions for BOINC below. The motivation to create packages for this worthwhile cause requires no further explanation, maybe except for the following hint: Debian is special for its support of many different architectures, which is only sustainable because of an automated compilation of novel packages. Thus, the provision of BOINC on Debian significantly contributes to the acceptance of the project in all these non-mainstream architectures.

Some users of Debian install the package ["popularity-contest"]. It send anonymous statistics on package usage to a [http://popcon.debian.org dedicated site]. Follow [http://people.debian.org/~igloo/popcon-graphs/index.php?packages=boinc-manager+boinc-client+boinc-app-seti+boinc-dev++boinc-dbg+distcc+clisp+r-recommended&show_installed=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1 this link] for an overview on the installation rates of boinc-associated ppackages in Debian. The packages clisp (Common Lisp) and distcc (distributed compilation) were added as a reference. You will find the boinc packages to have a much steeper curve than most regular packages, i.e., these are installed more frequently than the number of Debian users grows. And, we are competing nicely with high-flying packages like the statistics environment R.

Another peculiarity of Debian is the option to create dedicated chroot environments, which may be essential for security-sensitive administrators. Debian's ["debootstrap"] tool creates such easily, also in subdirectories of other Linux distributions. Together with the dynamic package management, this renders Debian a prime candidate for the creation of virtual hosts arbitrary Linux distributions or - maybe more interestingly - on Windows machines running ["Xen"], ["coLinux"] or ["VMware"]. http://packages.debian.org/boinc-client Furthermore, the frequently distributed ["LiveCD"]s of Debian may bring functional BOINC installations to the masses.

1.2. Once you decide to prepare your very own BOINC project...

... you demand too much from this effort that is aiming merely at packaging existing packages for Debian. The upstream official [http://boinc.berkeley.edu/trac/wiki/CreateProjectOutline documentation to create a BOINC project] should be a first read and the BOINC [http://boinc.berkeley.edu/email_lists.php mailing lists] and [http://boinc.berkeley.edu/dev/ message boards] will come to your assistance.

A boinc-server package is available in the experimental branch of the svn server and there are also plans to upload it to Debian's experimental section. The package however can use some more help to further ease the entry level for creating one's own Debian-based BOINC project. Please consider to contact and join the [http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/ BOINC developers mailing list] with respect to the server package and follow the ["BOINC/Server"]-dedicated page on this Wiki.

2. Technical overview

From the user's perspective, BOINC has three parts:

  1. The server that the data flow to which, after registration to the project(s), is no longer of interest.
  2. The BOINC core client that is commonly wrapped by the BOINC Manager (boincmgr) and the only program that is actually started by the user.

  3. The project-specific application (e.g. setiathome) that is started by the BOINC core client.

The speed of the processor is measured by the BOINC core client. One gets the more credits, the faster the BOINC core client says the individual machine is. Hence, it makes perfect sense to have a very much optimized binary of the BOINC core client, if one is interested in the stats. However, the project specific application, which does the real work, does not profit from an optimisation of the merely communicating BOINC client. It is the application's code where the real interest is in. Hence, the ultimate goal is to have locally optimised Debian packages for the scientific applications, too. These however are mostly distributed as binaries only, though, which renders this process difficult.

?Anchor(Installation)

3. Installation

3.1. Installation of binary packages

The BOINC packages are part of the Debian main archive since DebianEtch (see: [http://packages.debian.org/boinc-client boinc-client], [http://packages.debian.org/boinc-dev boinc-dev], [http://packages.debian.org/boinc-manager boinc-manager]). ["Backports"] of these packages for DebianSarge are on http://backports.org. To install BOINC on your computer update your package index files and install the boinc-client and boinc-manager packages:

apt-get update
apt-get install boinc-client boinc-manager

Finally, run the graphical user interface boincmgr and follow the instructions to attach a new project to your BOINC core client. A non-graphical alternative to boincmgr is the boinc_cmd program, which is included in the boinc-client package.

3.2. Installation from source

To install the BOINC packages from source, a deb-src line pointing to Debian's main archive must be present in your /etc/apt/sources.list file. Also make sure that you have the build-essential and fakeroot packages installed on your system. Curiosity is a good motivation to inspect and compile the source. Whenever you feel more serious to improve or to port the code to a novel platform please check out the aforementioned [http://pkg-boinc.alioth.debian.org Alioth project] that offers a [http://svn.debian.org/wsvn/pkg-boinc Subversion repository] with the latest source and a technically easier way to communicate your changes back to us.

  1. Prepare a source directory and download the BOINC source package and it's build dependencies:

    mkdir -p ~/src/boinc
    cd !$
    apt-get build-dep boinc
    apt-get source boinc
  2. Change to the BOINC directory and build the sources. Before running dpkg-buildpackage you can apply patches to the BOINC source or set compiler flags to optimize the BOINC core client. Information on how to do this is given at the BOINC["?/ClientBenchmarks"] page.

    cd boinc-X.Y.Z/
    dpkg-buildpackage -rfakeroot -us -uc
  3. After dpkg-buildpackage successfully finishes the build you can install your custom built packages:

    cd ~/src/boinc
    dpkg -i boinc-client_X.Y.Z-R_ARCH.deb boinc-manager_X.Y.Z-R_ARCH.deb

If dpkg-buildpackage fails to build the BOINC packages this probably indicates a bug in our sources and it is worth reporting it to the pkg-boinc-devel mailing list pkg-boinc-devel@lists.alioth.debian.org.

4. Contact

Please contact the maintainers of the BOINC packages and the community of Debian BOINC developers via the [http://lists.alioth.debian.org/pipermail/pkg-boinc-devel/ Alioth mailing list].