I have always been an enthusiast of automatic computing. One of the first programs I wrote (in BASIC) on my Commodore 64 was the search for Armstrong numbers, those numbers whose sum of their digits raised to the third power gives the number itself (like 153 = 13 + 53 + 33).
The impulse of using every single CPU cycle of every computer I could access grew up with my age. I had up to seven PC at home at once, all interconnected on a local area network. It was the Year 2000 when I founded Team_Italia, a group that gathers and coordinates a set of totally Italian amateur math researchers (or you could call them a herd of wild crazy nerds). The aim was to give to the world a demonstration of the coordination and computation skills of the group, something typically NOT Italian, in the field of number theory. And I must admit we succeeded, provided that the group actually counts 216 different individuals that asked to collaborate with the Team.
It’s therefore evident that the coming of the Single Board Computers (SBC) like Raspberry PI, Odroid C2, Pine64 and so on, born to give portable elaboration capabilities at a low operating cost, suggested to the undersigned a sort of spell: I had to buy a number of them and set up a bunch of minuscule computers to implement some sort of distributed computing, something like a mini-cluster. Or even better, a PicoCluster.
A modern LEGO for computer lovers
With an investment within the reach of the just refined enthusiast, it is now possible to buy on a single request all the needed components to build the system. You can choose among a variable number of 1, 3, 5, 10, 20 or 48 boards, the integrated powering system, one or more Gigabit network switches, cables and connectors. Last but not least, an awesome plexiglass chassis in the form of a cube that closes the whole cluster using joints and screws.
The use of cheap SBC with low-energy consumption in the cluster allows PicoCluster to power up systems dedicated to computing or distributed applications.
The system is a quite eclectic one: you can choose a professional configuration (with external PSU), enterprise configuration (with internal PSU and fan) or even high-power configuration (with two fans and a bigger power supply). But that’s not all: a system to be assembled is available for the DIY specialist (the Starter Kit); or you can choose an advaced kit with the SD cards ready to boot (Advanced kit), and finally the Assembled Cube, arriving at your home mounted, tested and ready to work.
You can even require different SBCs: the classic Raspberry PI 4, a Rock64, plain or Pro, the Odroid C2, the Odroid XU4. PicoClusters with the RPI 4, the Jetson Nano and Odroid N2 are on their way, the version on steroids of the previous generation of boards.
When I decided to buy a PicoCluster to make some tests, I chose a configuration with 5 Odroid C2. Such boards, even being equivalent to the Raspy 3, were clocked at 1.5 GHz, had a lower consumption, a faster Ethernet port and memory. The Odroid was like a RPI 4 but 18 months earlier. And to be honest, the better performances were clearly evident. With a well designed cooling system, the small cluster was able to compete with a quad-core i5 in sheer numeric performances, still using 10x less energy.
I remember that I designed a test based on the factorization of double Mersenne numbers; the cube connects to the network, and I could access each one of the five quad-core boards using SSH. I obviously disabled the GUI to gain that 3% more of CPU cycles. And a simple script with scp was enough to centralize all the results.
Power is nothing without control
Thanks to the form factor of the PicoCluster, it is possible to create (or require) a cluster configured for different frameworks or applications. That way, you’ll only have to insert your memory cards into the slot. Then power up the system and start to work. The whole installation and configuration stage disappears with no pain.
No other system is so easy to manage. The gain in time and money when you acquire a turnkey system is an additional added value.
Here is a short list of ready Application Image Sets on demand:
The new system with Jetson-Nano will be able to handle 128 CUDA cores on each board, and will be configured with the software ready to work in the field of artificial intelligence (AI). The CUDA processors could be used to speed up graphics applications or parallel computing in the various fields of math research.
Such applications benefit from the property of parallel execution. Threy use the multiple, short CPU spikes and a low frequency of communication between processes. Because of their multi-core architecture, those SBC systems look perfect to manage light to medium loads. Or as an instrument for test study, design or prototyping.
Being heavily based on a Linux kernel, it is also possible to create a Beowulf class cluster. Or develop MPI/OpenMP libraries to scale different processes using multi threading, and thus addressing different cores on different boards.
And at the end, if you still worry for the lack of computing power, consider building or buyng a 20- or even 48-boards system. Because 192 cores can do the difference!
My “experiments” led me to discover a totally new system to do research. Both in Maths and in Computer Sciences. The use of SBCs offers significant savings in both the initial costs and in the power requests. Thus granting an amazing flexibility in use and development.
The most “geeks” among my readers will be able to buy the boards and create their own cluster from scratch. But I guess most CTOs and IT managers will consider PicoCluster‘s offerings as a viable alternative. A solution that reduces development costs and application prototyping, focusing only on load distribution. On this post I considered the use of a PicoCluster vs a workstation and analyzed the numbers related to speed, energy consumption and costs.
Whatever your category of use, PicoCluster represents a perfect system to create a dedicated cluster. You will then test and deploy distributed computing applications using SBCs.