The Raspberry Pi is a credit-card-sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools. But could this ARM-based device be used to teach supercomputing as well? Joshua Kiepert, a doctoral student at Boise State’s Electrical and Computer Engineering department, published a white paper entitled: Creating a Raspberry Pi-Based Beowulf Cluster.
Although an inexpensive bill of materials looks great on paper, cheaper parts come with their own set ofdownsides. Perhaps the biggest downside is that an RPi is no where near as powerful as a current x86 PC. The RPi has a single-core ARM1176 (ARMv6) processor, running at 700MHz (though overclockingis supported). Additionally, since the RPi uses an ARM processor, it has a different architecture than PCs, i.e. ARM vs x86. Thus, any MPI program created originally on x86 must be recompiled when deployed to the RPiCluster. Fortunately, this issue is not present for java, python, or perl programs. Finally, because of the limited processing capability, the RPiCluster will not support multiple users simultaneously using the system very well. As such, it would be necessary to create some kind of timesharing system for access if it ever needed to be used in such a capacity.