BOINC is a large distributed computing project, or more accurately, a piece of software used by a bunch of distributed computing projects. I recently tried to install it on a Linux server, and got lots of trouble figuring out how to configure it using only the command line: as a definitely mainstream program, they seem to revolve around their GUI and the documentation for the command line, although not inexistent, isn’t of much help when it comes to simply configuring the software… So here’s a complete step-by-step guide (even included the properly documented parts) to get it started:
- Create an account for the project you want. For the example, I’ll be creating an account at Quantum Monte Carlo @ Home by University of Muenster (Germany).
- Note your account key (you’ll need it later).
- Get the BOINC client (for instance,
- Make it executable (
chmod +x boinc_6.12.4_x86_64-pc-linux-gnu.sh).
- Run it (
- Navigate to the newly created subfolder BOINC (
- Launch a screen (
screen), inside which you’ll run run_client (
./run_client). (NB: depending on your Linux version, you may need to install curl, for instance on Ubuntu:
apt-get install curl)
- Detach the screen (CTRL+A, CTRL+D) or open another terminal.
- Attach a project and your user key to the client using boinccmd, for instance:
./boinccmd --project_attach http://qah.uni-muenster.de cee742fga12345b123ab27e51bb6d5c4
And that’s it… I don’t understand why noone at BOINC took the time to write down those instructions clearly. Now, of course, you might want to configure the thing to run at start up, or even as a service, but this is getting out of the scope of this post, and there are actually some guides available for that, here are some pointers:
On a side note, I just installed BOINC into Windows 7 too. To avoid restarting your computer at the end of installation (the forced reboot seems totally useless), you can just delete the file named RebootPending.txt in BOINC’s folder.
Update (9 December 2010): added requirement for curl.
Update (7 february 2012): if you run this on a busy server, you might want to run
./boinccmd --set_run_mode always to avoid stopping computations every time the CPU is a bit busy (default: 25%, I haven’t found yet how to change this percentage value hence the “run always” workaround)