Kristina Kapanova is a PhD student at the Bulgarian Academy of Sciences. Her research is taking her to simulations of quantum effects in semiconductor devices, but this field of study requires a supercomputer for billions of calculations. The college had a proper supercomputer, and was getting a new one, but for a while, Kristina and her fellow ramen-eating colleagues were without a big box of computing. To solve this problem, Kristina built her own supercomputer from off-the-shelf ARM boards.
Because of the demands of a supercomputer – namely the amount of RAM and pure processing speed – Raspberry Pis and BeagleBones were out of the question. This supercomputer just needed more speed. This left Kristina to choose between the Odroid X2 and the Radxa Rock. Both of these single board computers have a quad-core ARM Cortex A9, 2GB of RAM, and can be easily powered from a 5V power supply. Only the Radxa Rock was available in Bulgaria at the time, making it the only choice.
Personal clusters have been around since before the Beowulf joke on Slashdot was new, but in recent years cheap ARM boards like the Raspberry Pi have given cluster computing a resurgence. There are 64-node clusters, 120-node clusters with displays on each machine, and a few built out of Lego. Kristina’s cluster isn’t terribly different from any of these Pi Clusters – all she needed was eight boards, an Ethernet switch, a big USB hub, a few cables, and an enclosure. With a few scripts to detect hot-plugged boards, everything just works and only cost about €500.
Building a cluster isn’t about making a nice enclosure and wiring up all the boards. The biggest problem is getting the software running. For this, Kristina removed the Android installation found on the Radxa boards and replaced it with Linaro, with a few additional packages including MPI to pass messages around the cluster, OpenMP and Fortran. Yes, Fortran. This is scientific computing, after all.
With the cluster completed, it was time to actually use it. While this cluster isn’t a supercomputer, it is significantly faster at computationally demanding problems than a single, fast desktop processor. Kristina is using this cluster for natural language processing, deep neural networks, and simulations of quantum physics. Using this cluster, Kristina was able to run a simulation of the Pauli Exclusion Principle, resulting in a publication. That’s not bad for about €500 in off-the-shelf electronics and a few weekends of tinkering with a few boards.