Should You Build or Buy a Cluster of Single Board Computers?
By the middle of the 1990’s there was a move away from shared memory computing towards distributed cluster computing. Computers were quickly getting faster, and it was easy to pick up “last year’s model” at bargain basement prices. So many people, especially cash-strapped academics, started building clusters from last year’s commodity hardware—and the Beowulf cluster was born.
Today a lot of the sorts of computing done on those beige box clusters takes place in the cloud. Most people’s approach when if they needed more compute than they had on hand, would be to just to spin up some virtual machines on AWS. But despite that, there are still people outside of Amazon building clusters, and some of them are being built out of single board computers like the Raspberry Pis.
Known as ‘brambles’ the Pi clusters are slow, but help expose your code to things like latency, and network reliability problems. Real world conditions that are hard to test in the cloud.
I built my own cluster at the start of last year as a testbed for some distributed computing work I was doing. Having a small cluster sitting on my desk let me test my code out before deploying jobs to the much more extensive, and expensive, cluster I was using for grunt work on the project.
A year on the cluster is getting enough use that it still lives on my desk, except, with the addition of another stack, it has expanded from four nodes to eight.
Of course I’m not alone, even before the Raspberry Pi Zero was widely available—when orders were still “one per customer”—there were people trying to figure out how to build a cluster out of the tiny $5 boards. Although mostly they were trying to figure out where they could buy the fifteen remaining Pis they needed to populate the board.
Of course not all of these small clusters are being built using the Raspberry Pi. There have been clusters built with everything from the BeagleBone Black to the Pine64, and back in January Pine64 released the SOPINE A64, a competitor to the Raspberry Pi Compute Module—and it now looks like the company may be taking some inspiration from Idein’s PiZero Cluster board.
While details are sketchy at this point, the “PINE64 SoPine Cluster Board” has sockets for seven of the SO-DIMM style modules networked up to a Gigabit Ethernet switch.
If you can’t wait for the Cluster board, these small clusters are even popular enough that you can now buy them already assembled. For instance Picocluster sells three, five, ten, twenty, or forty eight node clusters of Raspberry Pi, ODROID, or Pine64 boards off-the-shelf.
But if you’re looking for the cheapest and most compact way to build a cluster, you don’t really need to look much further than the Cluster HAT.
The Cluster HAT is a board which sits on top of a normal Raspberry Pi which will then act as a head node to the 4 Raspberry Pi Zero boards connected to the HAT. You can pick the HAT up for £28, adding the cost of a Raspberry Pi 3 and four Raspberry Pi Zero boards, the whole cluster comes in at around £80 (more or less $100).
Of course, the most frequent questions you get asked when you tell someone you’ve built a small cluster out of single board computers is why you bothered. With such a mess of different bottlenecks, surely it can’t be of any real use?
Once they’ve come back from reading the paper if they still think there isn’t any point in building small scale clusters, I’m not sure what to tell them. Except that it’s sort of fun to have a cluster computer sitting on your desk.