Skip to main content

Searching for Aliens with a Raspberry Pi and the Sun

A fun project to see if a solar powered Raspberry Pi could be used to help in the search for extraterrestrial intelligence.

SETI@home allows individuals to donate idle computer time to analysing radio signals for signs of potential extraterrestrial intelligence, and when it launched back in 1999 it was a cause of great excitement and I was one of many who installed the software in order to play a small part. Although it wasn't long before I started to worry about the increase in energy consumption resulting from a rather hot CPU running at 100%, and the support I provided was all too short-lived.

Since the Raspberry Pi uses an energy-efficient ARM core and draws in total around 2.5 watts it is well suited to running from solar power, and this removes the concern of leaving a mains powered computer on 24 hours a day. Erring on the side of caution I decided to use a 10 watt solar panel with a 24 amp/hour battery, given it's necessary to store enough energy during daylight hours to run the Raspberry Pi throughout the night, and we're not guaranteed the strongest sunlight here in the UK!

In testing the solar panel was situated in a windowsill and connected to a sealed lead-acid battery via a pulse-width modulation charge controller. A DC-DC converter that claims 96% efficiency was used to generate the 5v supply for the Raspberry Pi and was also connected via the charge controller, which will disconnect the load if it goes overcurrent or the battery undervoltage.

Software

The SETI@home software is built upon open source client-server middleware called BOINC that is designed for grid and “volunteer” computing. This is used to support many more scientific research projects where individuals donate compute resources, and in general it's only necessary to install the generic BOINC client and an application will be downloaded upon connecting to a project.

Unfortunately it appears as though none of the projects powered by BOINC support either Linux/armhf (Raspbian) or Linux/armel (Debian) platforms directly, and this leaves only one other option: use of the anonymous platform mechanism whereby a client application built from source is installed locally. However, most projects do not provide the source to their application for fear of changes to their code leading to erroneous results.

Luckily SETI@home is one of two projects that do provide the source code to their client application and a binary is distributed by Debian Linux and can be installed via:

$ sudo apt-get install boinc-app-seti

This should also be in the Raspbian distribution but for some reason it's missing, and at guess this could be as a result of a build failure and the source may need patching for the armhf architecture.

Performance benchmarks

Debian/armel does not make use of the Raspberry Pi floating point hardware and this means that performance will suffer, and for comparison the benchmarks according to a BOINC server are:

Raspberry Pi running Raspbian “wheezy”: 231.7 MFLOPS

Raspberry Pi running Debian “squeeze”:  23.89 MFLOPS

Given that scientific research projects make heavy use of floating point calculations this suggests that there could be a performance increase of approaching 10x when using Raspbian.

In practice

With the SETI@home application running on Debian/armel a work unit has still not completed after 7 days. Whereas a work unit completed on Debian/amd64 equipped with an Intel Core 2 Duo L9400/1.86GHz processor (benchmarked at 1812.66 MFLOPS) in hours. Of course, this machine consumed considerably more power and was more than an order of magnitude more expensive.

MilkyWay@Home

The Debian and Raspbian distributions also contain an anonymous platform BOINC application for MilkyWay@Home, a project which is creating a highly accurate 3D model of the Milky Way galaxy. However, running this on Raspbian results in computation errors, and with Debian validation errors. A Google search suggests that the latter may be due to the Debian squeeze version of boinc-app-milkway being quite old, whereas the computation errors with Raspbian may indicate that the software needs to be patched in order to work with ARM hardware floating point (armhf).

A call to BOINC projects

Given the low energy consumption of the Raspberry Pi it is more likely to be left powered up, e.g. in use as a media centre. In addition to which the variation in power consumption between when a Raspberry Pi is idle and running at 100% CPU utilisation is negligible (10s of milliamps). Which together suggests that the Pi would make an excellent target for BOINC applications.

The best way for projects such as SETI@home and MilkyWay@Home to support a platform is via a native application that is automatically downloaded when the BOINC client connects. As this removes the need to distribute source code and for Linux distributions to package BOINC applications, and each time a user connects they will get the latest version of the application.

In my view BOINC projects should probably make Linux/armhf support a priority and they may even wish to consider running campaigns targeted at the Raspberry Pi community.

A BOINC appliance

This journey started with the idea of prototyping an environmentally friendly SETI@home node and the solar panel and battery used are far from optimal. In practice it would likely make sense to use a much smaller but higher power density Lithium-ion battery of the sort used with mobile phones etc., and a much smaller solar panel and to have some downtime outside daylight hours.

The idea of a self-contained, solar powered BOINC appliance is attractive, as it would not only addresses concerns over energy consumption but could take a novel and even decorative form, perhaps with a small E Ink screen to display computation statistics.

Conclusion

The Raspberry Pi is some way behind a desktop computer in terms of floating point performance, but with the ability to make use of its hardware floating point processor it's not bad when you consider the purchase price and energy consumption, and it could well make an excellent platform for “volunteer computing” projects. However, support from those projects for use with Raspberry Pi is much needed.

The idea of an environmentally friendly BOINC appliance is something that appeals and that I'll continue to give further thought to, along with exploring other uses for a solar powered Pi.

 — Andrew Back

Image top: detail of the solar panel used.

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.