Differences between revisions 150 and 151
Revision 150 as of 2012-08-23 15:33:37
Size: 10831
Editor: GuoYixuan
Comment: boinc-wiki.ath.cx is down
Revision 151 as of 2012-09-08 10:49:50
Size: 10875
Comment: added ref to Ubuntu and Mint
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
|| {{http://boinc.berkeley.edu/logo/www_logo.gif}} ||<style="background-color: #FFF0F0;"> BOINC comes as an official part of Debian. Just install the DebianPkg:boinc package. Then start the `boincmgr` application to join the project of your liking. <<BR>> <<BR>> The remainder of this page helps the maintainers of these packages to better organise themselves. It may serve the curiosity of the one or other casual visitor and possibly attracts more helping hands. Ignore it at first.|| || {{http://boinc.berkeley.edu/logo/www_logo.gif}} ||<style="background-color: #FFF0F0;"> BOINC comes as an official part of Debian and with it of Ubuntu, Mint and many others. Just install the DebianPkg:boinc package. Then start the `boincmgr` application to join the project of your liking. <<BR>> <<BR>> The remainder of this page helps the maintainers of these packages to better organise themselves. It may serve the curiosity of the one or other casual visitor and possibly attracts more helping hands. Ignore it at first.||

Translation(s): none


BOINC - Berkeley Open Infrastructure for Network Computing

http://boinc.berkeley.edu/logo/www_logo.gif

BOINC comes as an official part of Debian and with it of Ubuntu, Mint and many others. Just install the boinc package. Then start the boincmgr application to join the project of your liking.

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


Separate pages were created for:

  • BOINC/Development - developing the BOINC Debian packages

  • BOINC/Projects - projects that support Debian architectures -- 'everyone with exotic platforms please help to maintain'

  • BOINC/Server - running a BOINC server on Debian

  • BOINC/Troubleshooting - problem solving and FAQs

1. Introduction

This page accompanies an Alioth project of the same name on the creation of respective Debian package for BOINC. A detailed introduction to BOINC itself is available on the wiki pages of en.wikipedia.org. In short, BOINC provides an infrastructure for distributed computing that is already 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 sends anonymous statistics on package usage to a dedicated site. Follow http://qa.debian.org/popcon.php?package=boinc for an overview on the installation rates of boinc-associated packages in Debian. 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. The latest numbers are retrievable also in the shell:

wget -O - http://popcon.ubuntu.com/by_vote.gz 2> /dev/null | gunzip | egrep 'boinc'
wget -O - http://popcon.debian.org/by_vote.gz 2> /dev/null | gunzip | egrep 'boinc'

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, VirtualBox or VMware.

Furthermore, the frequently distributed LiveCDs 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 documentation to create a BOINC project (Especially the section creating a BOINC project) should be a first read and the BOINC mailing lists and message boards will come to your assistance.

A boinc-server package was prepared 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 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 external web server that manages the data flow. After the user's registration to the project(s) this server is remains only for power users who are interested to communicate with other users or the general progress of the individual project.
  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.

3. Installation

3.1. Installation of binary packages

The BOINC packages are part of the Debian main archive since DebianEtch (see: boinc-client, boinc-dev, boinc-manager). To install BOINC on your computer update your package index files and install the boinc-client package:

apt-get update
apt-get install boinc-client

If you wish to manage boinc by GUI, install the boinc-manager package in addition:

apt-get install boinc-manager

Finally, attach a new project to your BOINC core client. For GUI installation, run boincmgr; for CLI installation, run boinccmd.

3.1.1. NVidia CUDA

For support of GPU offloading on NVidia cards, feel invited to install the package boinc-nvidia-cuda. It ensures to have the required extra dependencies for CUDA programs installed, i.e. nvidia-glx and libcuda1 packages.

It should all be performed by the postinst scripts of the package. Anyway, if there are problems, verify the boinc user to be a member of the video group. If a card is detected but the apps don't work, also try installing the 32bit variants of support libraries like libcuda1-ia32 and lib32cudart4 packages, if these are available to you.

3.1.2. AMD Stream / OpenCL

This Wiki has a dedicated page on ATIstream/OpenCL intallation instructions. The boinc-amd-opencl drags in the dependencies. On amd64, also install the 32bit libraries, but other than for NVidia, use the multiarch principle.

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 Alioth project that offers a Git/Subversion repository with the latest source and a technically easier way to communicate your changes back to us. The BOINC/Development pages present more detailed instructions.

  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. See also

5. Contact

Please contact the Debian maintainers of the BOINC packages and the community of Debian BOINC developers via the pkg-boinc-devel mailing list.


Page Copyright

License

GPLv2

Authors

Debian maintainers of the BOINC packages

see DebianWiki/LicencingTerms for info about wiki content copyright.


CategoryPermalink