Abstract-Until recently, cluster computing was too expensive and too complex for commodity users. However the phenomenal popularity of single board computers like the Raspberry Pi has caused the emergence of the single board computer cluster. This demonstration will present a cheap, practical and portable Raspberry Pi cluster called Pi Stack. We will show pragmatic custom solutions to hardware issues, such as power distribution, and software issues, such as remote updating. We also sketch potential use cases for Pi Stack and other commodity single board computer cluster architectures.
I. I15 million Raspberry Pi single board computer (SBC) devices have been sold to date1. The pressing question is: how are people deploying such SBCs? One appealing answer is to network several boards together to produce a micro-cluster environment. This is highly feasible, since each SBC runs a full Linux stack and has conventional ethernet interconnect, effectively enabling the creation of a Beowulf cluster.The key problem is that per-node resource availability is highly constrained, in terms of processing capability, RAM, storage capacity and network bandwidth. For this reason, conventional cluster workloads do not perform particularly well on SBC-based micro-clusters. However, a number of compelling use cases have emerged for this new technology, see Section IV.Our project involves building federated clusters of single board computer (SBC) nodes. During our work, we have encountered a number of practical challenges in terms of both hardware (Section II) and software (Section III). This demo (described in Section V) will identify these challenges and showcase our working solutions.
II. P SCreating a cluster of Single Board Computers (SBCs) poses challenges around mounting and cable management. The extremely small form factor of the SBC means requires novel mounting mechanisms and the density available means many more cables are present when compared to a server cluster. The approach used by Iridis-Pi [1] was to use Lego to create a rack to hold the SBCs, in this case Raspberry Pi version 1. Whilst 1https://betanews.com/2017/07/19/raspberry-pi-eben-upton-qa/ the approach allowed the first Pi cluster to be produced and benchmarked it used separate USB power supplies for each Pi meaning fine grained power consumption data is not available and the power distribution hardware was bulkier than the main cluster. Since then there have been other approaches taken to producing Pi Clusters such as using Power-Over-Ethernet2, or 12volt DC power distribution and local power supplies3.An alternative solution to either of these is the Pi Stack [2] shown in Figure 1a. This board sits between 2 Raspberry Pi SBC (or any other SBC board using the same B+ footprint4) and provides individual power control and monitoring for each SBC. The boards use the metal stand-offs that form the mechanical mounting to carry the power and control signals within the stack of boards. Each Pi Stack board is given a unique ID using DIP switches mounted on the board. ...