The Raspberry Pi cluster

Fifth rebuild of the Raspberry Pi cluster

I've been building Raspberry Pi clusters for a few years now. They're an inexpensive tool for testing various cluster configurations and scenarios without using precious time on a production cluster. Inevitably, I tear the cluster apart and use the Pis for some interesting project I read about online or thought up. Eventually, though, I want to do some testing again with a "real" cluster, so I end up rebuilding it.

This is the fifth rebuild of the Raspberry Pi cluster. The motivation this time is the latest release of openSUSE, version 15. The annual Supercomputing Conference is also coming up, so I want to brush up on my HPC skillz a bit.

A note on using openSUSE: I know it's in vogue in America to eschew SUSE Linux and its derivatives like openSUSE, but it's an exceptional product that you should really reconsider. Here's why:

  • It's "the other" commercial version of Linux.
  • The resolver is significantly better than anything else out there. Really.
  • The list of officially supported packages is unmatched. (You know EPEL isn't officially supported, right??)
  • Ships with a modern kernel
  • Excellent regression testing on patches. Stuff Just Works. (tm)
  • openSUSE tracks commercial SUSE Linux exactly again
  • Get commercial support by buying a license and installing the branding packages
  • Free from idiotic patent lawsuits from that Really Big Software Company

In any case, you can use any distribution you like. Linux is the kernel; the individual distributions only define which kernel you're working with, the install and update method, and where some configuration files go. I'll be using openSUSE for my walkthrough. Use whatever you're comfortable with; you may need to build some packages by hand, though.

Why another Raspberry Pi tutorial? The first time I built a Pi cluster, I browsed through a few tutorials, but like most Internet documentation, they were a bit sparse in the areas where you tended to run into problems. This walkthrough includes every command I type, from start to finish, including the output. I'll also add some comentary in areas where common problems come up, just in case you're using a different Linux distribution or some software components get updated after I write this.

This also isn't just a "do this and you're done!" tutorial. I actually use my Pi cluster for real testing. After the cluster is built, I'll walk through some real-world cases for using the cluster, again, with full output. You can compare your benchmarks against mine to see if youv'e tuned things better or worse than I did.