Boise University PhD candidate Joshua Kiepert has built a 32-way Beowulf cluster from Raspberry Pis.
Kiepert says his research focuses on “developing a novel data sharing system for wireless sensor networks to facilitate in-network collaborative processing of sensor data.” To study that field Kipert figured he would need a decent simulator, preferably a cluster so he could simulate lots of distributed sensors. The University possesses just such a cluster, comprised of 32 nodes each packing a quad-core Intel Xeon E3-1225 CPU humming away at 3.1GHz.
That's a lovely facility and is therefore much in-demand, which meant Kiepert could not guarantee access for lengthy experiments. That got Kiepert thinking that if he had a cluster of his own he could tweak as required, and that cluster was a bit closer to the low-level hardware used in sensors, that would be a fine thing.
Kiepert's mathematical skills then did some multiplication: at $45 per Pi, including an 8GB SD card, he could acquire the raw materials for a 32-way cluster for $1500, or the same price as one Xeon-powered PC. As he contemplated the design for such a cluster, Kipert settled on Arch Linux for its tiny size. He eschewed the Pi's micro-USB port as a power source, as he felt it would complicate cabling, instead using a 5V pin on the machines' I/O headers.
USB power would also have complicated the housing for the cluster by adding weight, a problem Kiepert said was not insignificant because 32 ethernet cables were a drag on the slim and light computers.
“In order to keep the cluster size to a minimum while maintaining ease of access, the RPis were stacked in groups of eight using PCB-to-PCB standoffs with enough room in between them for a reasonable amount of air flow and component clearance,” he writes. “This configuration suited our needs for power distribution very well since it allowed for a power line to be passed vertically along each stack.”
“Using this orientation, four RPi stacks were assembled and mounted between two pieces of acrylic. This created a solid structure in which the cluster could be housed and maintain physical stability under the combined weight of 32 Ethernet cables.”
The Pis were also overclocked, using Turbo Mode, to give Kiepert the grunt needed to run his simulations.
Kiepert's now doing all his research on the cluster, writing in a lengthy (PDF) account of the build that “I have found performance perfectly acceptable for my simulation needs, and have had the luxury of customizing the cluster software to fit my requirements exactly.”
Custom software doesn't, however, mean faster performance: Kiepert admits performance of the cluster isn't stellar, even after he re-wrote simulation software for his cluster.
But the price was right: the PDF above includes a bill of materials that includes cabling, lighting and even screws needed to assemble his acrylic racks. The total came to $1967.21