Ruminating further on my desire for more processing power, I’ve been thinking more on clusters and can’t help but feel that a lego rack of tiny motherboards is a rather cute direction to head in. My general idea at the moment is to look at building a cluster significantly more powerful than a mac mini but with a small footprint and not too expensive. While there are desktop towers and second-hand servers that can achieve much better performance, they take up a lot of physical space. 2 things I’ve always been interested in in computing:
- small size (or footprint) – I don’t want them to dominate the space
- low weight
- good battery life is also nice but less relevant in this scenario
The Intel NUC cluster is the high end version of the sort of setup that could work for me. However high end, cutting edge isn’t the only solution and comments on twitter reminded me that there are other, cheaper options for home use starting with the humble raspberry pi. Turns out there’s quite a bit of work in that area on a low end approach to supercomputing. While the overall speed per board won’t be huge, gains can be made for parallel computing as a good number of cores and threads increases work done in these sorts of systems and may work out better, and cheaper than a single NUC.
There’s been a lot of work with raspberry pi clusters and running boards in parallel with anything from 4 boards up to 200+; someone has even published instructions on building a 4 board Pi cluster in a mere 29 minutes. However the Pi isn’t the only option and another board that has developed a community is the Odroid series and they seem a wee bit more powerful than the Pi without being much more expensive.
The challenge I gather with Pi/Odroid setups is potentially around the ARM chipset whereas the NUC being Intel is on a more common platform. ARM is a slower chipset relatively and doesn’t quite have the broad support of mainstream chipsets however there seems to be a strong community around them. On the other hand, if you want to go down the intel route, then there’s credit size computers, like the Intel Edison, based on x86 chips. Literally the size/thickness of a credit card and can boot to standard linux. Clusters of these are even smaller, with a 10 card cluster that looks like it could fit in the palm of your hand.
Realistically, while it’s nice to dream I’m not actually that great with hardware stuff and I can see that 29 minute Pi cluster taking me most of the day…if I can get it to work at all. Yet it sounds so simple. I suspect it’s a matter of courage, patience and lots of google-fu. I get nervous when dealing with hardware and installing software, blindly running other people’s scripts and keeping my fingers cross that if errors occur, they’re not too hard to resolve. The advantage of cheaper approaches is that I’m not too badly out of pocket if I can’t get it to work, a few hundred vs a few thousand. The other question is whether a tenth of the budget produces better than a tenth of the power?