Translation(s): none


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.

http://setiathome.berkeley.edu/images/seti_logo.png https://einsteinathome.org/sites/default/themes/project/einstein/logo.png

BOINC, under your control, downloads and runs external applications. Debian supports many more platforms than any scientific group. And with Debian, you have the confidence to see a direct correspondence between the source Debian distributes and the application one runs. For SETI, we have hence prepared a package of their scientific application, i.e. install boinc-app-seti and the local application is used to search for signals from outer space. For Einstein@Home we have a boinc-app-eah-brp to search for binary pulsars in radio signals.

http://packages.debian.org/Pics/openlogo-50.pnghttps://assets.ubuntu.com/v1/29985a98-ubuntu-logo32.png

Debian and Ubuntu folks work together on those packages, which we are very happy about.

Installation with GUI

If your search engine brought you to this page and you just don't know how to get your machine up and running:

# install BOINC
sudo apt install boinc
# start the BOINC client
sudo systemctl start boinc-client
# enable autostart of  BOINC client
sudo systemctl enable boinc-client
# start the BOINC manager
boincmgr

Once the GUI is up, find "Add Project" to add a project by selecting on it and then following the instructions. The GUI allows to follow the progress while the client is downloading input data and/or while workunits are processed. You can also see the tasks as regular processes on your computer for inspection with typical command line tools like "ps" or "top". Please follow instructions on the project's home page (https://boinc.berkeley.edu) for more info.

Installation without Xorg/Wayland (headless install)

# install BOINC and a TUI for configuring it:
sudo apt install boinc-client boinctui
# Start the config tool, port and host should be ok for localhost
boinctui
# With F9 you can open the menu and add projects etc.

This page supports the maintenance of a Debian package for BOINC. BOINC provides an infrastructure for distributed computing that asks for volunteers world-wide to offer their compute power for a good cause. There is no central organization but every contributor decides by h(im|er)self what project to support. Everything of this infrastructure is Open Source, for the contributors and the scientists with computational demands alike. Hence, everybody can do something beneficial to the world at large, just by running an unnoticed application in the background.

/Development

/Projects

/Server

/Troubleshooting

BOINC/Development

BOINC/Projects

BOINC/Server

BOINC/Troubleshooting

packaging BOINC for Debian

projects' support for Debian's architectures

running your own BOINC server project on Debian (experimental)

problem solving and FAQs

Benefits of Debian for BOINC

There are two major criticisms of the BOINC project:

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.

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, and schroot is a good tool for managing chroots. Together with the dynamic package management, this renders Debian a prime candidate for the creation of virtual hosts with arbitrary Linux distributions or - maybe more interestingly - on Windows machines running Xen, coLinux, VirtualBox or VMware. Also, the frequently distributed LiveCDs of Debian may help bringing functional BOINC installations to the masses.

Statistics

Work performed with the help of the Debian packages counts in the same way as if the upstream client was used. The scientific application for SETI, also available as a Debian package, may even be slightly faster than the original since our version does not waste cycles on feeding the graphics. This paragraph is about the adoption of the Debian package by the community.

The package popularity-contest sends anonymous statistics on the local package selection to a dedicated site. Follow

for an overview on the installation rates of boinc-associated packages in Debian. In terms of user adoption we are competing nicely with a couple of other prominent packages and about every 75th installation of Debian features the BOINC client. The latest numbers are retrievable also in the shell:

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

https://qa.debian.org/popcon-png?packages=boinc boinc-nvidia-cuda boinc-client boinc-manager boinc-dev boinc-dbg&show_installed=on&want_legend=on&want_ticks=on&date_fmt=%Y-%m&beenhere=1

Adoption of Debian's BOINC packages over time. Values for Ubuntu are about 15-20 times higher.

Technical overview

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

  1. The external web server, run by the scientists, that manages the data flow. After the user's registration to a particular project this server is of interest 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 controlled 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 optimization 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 optimized Debian packages for the scientific applications, too. These however are mostly distributed as binaries only, though there are exceptions, like SETI@Home, Milkyway@Home, Eistein@Home and others. We are providing also a package for SETI and Milkyway, see overview on platform-project compatibilities on /Projects.

Installation

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:

sudo apt-get update
sudo apt-get install boinc-client

The boinc-client starts at a reboot, or explicitly with

sudo /etc/init.d/boinc-client start

We now have the infrastructure in place that knows how to feed the scientific application with data and return the result files. The scientific application itself is either

To manage scientific applications run on boinc by GUI, install the boinc-manager package in addition:

sudo 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.

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. More (too many?) details on NVidia are collected on the page NvidiaGraphicsDrivers of this wiki.

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.

AMD Stream / OpenCL

This Wiki has a dedicated page on ATI/AMD Stream/OpenCL installation instructions. We prepared a package boinc-amd-opencl but are currently not shipping it since the AMD packages had issues. This, as a meta package, drags in the dependencies but otherwise has no extra functionality on its own. On amd64, it also installs the 32bit libraries, but other than for NVidia, it uses the multiarch principle.

See also

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