Building tiny compute clusters for fun and learning

Just for fun, I recently built a small HPC-style computing cluster out of five Raspberry Pi servers. While this kind of thing has of course been done before, I wanted to build one anyway as a geek toy and a platform for me to play with a few HPC ideas.

I think it actually turned out rather well, and it was a ridiculous amount of fun to build. My wife Leigh helped put together the Lego rack, and it was a lot of fun to put together. Because I was focusing more on duplicating a "real" cluster rather than getting performance, I included all the usual cluster services such as a SLURM scheduler, Ganglia for monitoring, and using one of the Pi's as a non-computing login node. Total HPL performance, 670 MFlops. Oh yeah!

A few folks at NVIDIA, where I also work on HPC clusters, also thought this was a cool project. The Pi cluster thus ended up being featured as an "Inner Geek" post on the company blog, alongside other awesome projects from NVIDIANs such as a cool airplane restoration and an amazing holiday lights display.

If you're curious, I have details on how I put it together in my ansible-pi-cluster GitHub repository. This includes the Ansible playbooks I used to install all the software (though they still need some work), as well as some notes on the physical assembly and OS provisioning in the README.

I'll admit that the performance isn't awesome compared to other clusters (or even many laptops!), but I like having a cluster I can hold in my hands:

There are all sorts of other "tiny HPC cluster" projects out there, frequently used for teaching, and which have often done some real science.
Here's a short roundup of some other tiny clusters I've seen... And if you know something else I should include in this post, let me know and I'll add it in.

  • Idris-Pi, the original Raspberry Pi + Legos supercomputer from Southampton University. This cluster included 64 Raspberry Pi boards, and they also have some instructions posted for how they set up the software stack. There was also a very interesting discussion of this cluster on the Beowulf list

* RPiCluster from Boise State, a 32-node cluster built by Joshua Kiepert to use for his dissertation research. This link also includes detailed instructions on building his cluster.

* LittleFe is an ongoing project focused on building small educational HPC clusters which teachers can use in their classes. Their web site includes a continually-updated design for a 6-node cluster of Intel Atom processors, and their organization also holds build events at conferences such as SuperComputing where interested teachers can build clusters they can take home.