BOINC on the Pi

The Berkeley Open Infrastructure for Network Computing (BOINC) platform is a popular framework for distributed scientific applications. Many citizen science projects use it to build and deliver their applications to a worldwide audience, and to harvest the efforts of participants’ computers. Thus a vast, global network of computers can be used as a ‘supercomputer’ for scientific research and analysis.

Pi2ModB1GB_-comp-1024x1024

Picture permission of Raspberry Pi Foundation

The Raspberry Pi, although a modest computer, is capable of participating in BOINC projects. Linux versions of the BOINC client and manager are freely available and easy to install. An internet connection is required for installation, and for periodic connection to BOINC servers to fetch new work units and to upload finished work from your Pi. However, a continuous connection is not required, as BOINC work units can be cached on your Pi to keep it busy between server connections. The amount of processing time and resources you’re willing to contribute is entirely up to you and is fully configurable in the BOINC Manager.

These instructions are for BOINC Manager v.7.0.27 on a Raspberry Pi 2 running the Raspbian distribution.

From a console session:
sudo apt-get update                                                       update local package lists
sudo apt-get install boinc boinc-manager                 install BOINC client and manager

From the Pi’s desktop:
Start >> Other >> BOINC Manager
Press Cancel (we’ll configure the Manager a bit first before joining any projects)
View >> Advanced View switch to show all tasks and options

View

Tools >> Computing preferences

Preferences

These panels allow you to control most aspects of your Pi’s resources to be used for BOINC. How much processor power, internet usage, and memory you wish to assign to BOINC work is up to you. All BOINC projects can utilize CPU resources, and many can also utilize GPU resources if available. The Pi’s GPU is not currently usable by BOINC, but that may change in the future.

You can reduce the number of writes that BOINC makes to your flash memory by increasing the checkpoint interval in Tools >> Computing preferences >> disk and memory usage

checkpoint

The default is 60 seconds, 3600 is once per hour, 86400 is once per day. The amount of writes to flash also depends on the project and the version of BOINC.   It is something to consider, as is heat, and lifetime of other components. How heavily you wish to use your Pi is up to you.

 

Activity menu – options for hardware & network limits

Activity

Advanced Options – testing, benchmarks, and logging

Advanced

Notices – useful messages sent out by projects or BOINC at Berkeley

Notices

If you ever have connection or configuration errors, the Event Log is a good place to look for further details. Project servers occasionally go offline (indicated in Event Log and sometimes announced under Notices), but once up & running, your Pi can continue working on cached units without the need to continuously connect to a server (e.g. offline)

You are now ready to actually join a project and begin contributing computer time. Many projects do not yet support the ARM processor in the Pi. However, some good ones do.
For example, Einstein@home