About Mat Zolnierczyk
Mat’s the owner of NotEnoughTech. and he is UK based tech editor, maker and robotics engineer. He's built a lot of funny things that you can learn a lot technic skills on his own website. and he is nice guy who provides us a lot of suggestions on our products.
Video is made By Mat Zolnierczyk : 24-cores-of-pure-power-deskpi-super6c
Product purchase link: 52Pi Super6C
That's a system and a half! -- Mat Zolnierczyk
In October I received DeskPi Super6C – a Raspberry Pi Compute Module 4 cluster board. One could have a feast of processing power at home without selling both kidneys. It’s January, and only now I began to enjoy the board and an array of CM4 modules fitted inside. Why? Inadequately selected NVMe drives gave me a lot of issues and turned me into a troubleshooting expert on CM4 NVMe boot. It hasn’t stopped me from being excited about clustering at home.
Cluster-ing at home
DeskPi Super6C couldn’t hit the market at the worst possible time. All Raspberry Pi boards are expensive and extremely hard to find. CM4 boards in particular. I must have a guardian angel looking after me, as I managed to get 6 Compute Module 4 boards, while rpilocator was showing empty listings everywhere. You may not be so lucky, but Raspberry Pi Foundation promises better stock availability in 2023.
Now that my DeskPi Super6C is here, let’s talk about clusters and why you probably don’t need one at home. DeskPi Super6C isn’t a complicated device. It’s a well-thought-out carrier board for CM4 modules that brings everything that clusters computing needs on a single PCB.
Instead of setting up six individual Raspberry Pi boards (which is still a valid approach), DeskPi Super6C provides a single PCB that:
- carries 6 CM4 modules
- built-in 8 port Gigabit (unmanaged) switch
- integrated power supply
- 6 NVMe M.2 ports for SSD expansion
- ability to daisy-chain Super6C boards
Additionally, DeskPi Super6C takes advantage of PCIe when it comes to SSD storage making it faster than typical boot from USB available on Raspberry Pi boards.
It’s worth getting the dedicated enclosure from DeskPi too which adds cooling, and development I/O including USB and HDMI ports and keeps the DeskPi Super6C board protected. You could make a similar cluster by networking Raspberry Pi 4 boards yourself, but that approach wouldn’t be as neat as using DeskPi’s offering.
DeskPi Super6C has dual 1Gigabit ports at the back. The connection, cannot be aggregated as the switch is unable to offer higher than 1Gbps speeds, but the extra port can be used to daisy-chain multiple boards. If having six Compute Module 4 clusters isn’t enough, going 12, 18 or 24 is as simple as connecting an Ethernet patch cable.
How much do you need to pay for your first “SuperComputer” – the motherboard alone will set you back $199.99 and a dedicated enclosure (which is worth having) another $59.99. You could save some money and use an old Mini-ITX board, but that leaves you with no dedicated cooling solution.
Running DeskPi Super6C
At first, it wasn’t much of a cluster – I had a single CM4 board to spare. You can run DeskPi Super6C with a single slot populated. It won’t be much of a cluster, but over time, you can add modules as they become available. The first slot on the Deskpi Super6C cluster (labelled as 1) comes with “extras”. To enable effective in-person administration, this slot (and only this) offers two HDMI outputs and the ability to connect two USB devices. Handy, if headless monitoring isn’t available.
Other slots must be managed in the headless mode. Each slot on the board comes with a dedicated micro USB port for development (setting boot, flashing eMMC etc) and headers that configure the board on boot. If you want to expand the I/O further – the dedicated (and strongly recommended case) comes with additional USB ports.
Possible improvements?
Power and reset buttons apply to all 6 slots – and that’s probably the biggest limitation of the cluster. Other than software reboot from the terminal session, the board is lacking a dedicated power controller. I can power off a single CM4 module via SSH, but the only way to power it on again is to hardware power cycle all mounted CM4 boards.
The enclosure just begs for a front status display for all boards (DeskPi Super6C provides 6 status LEDs at the back) and a small network controller to manage individual boards. I may poke around the board to see if an ESP32 board with a display could work with any of the pins exposed by the motherboard.
Thermals
Out of the box, Super6C is loud. So loud that my first thought was to replace all the fans with low RPM versions of the 40mm fan included in the default case. DeskPi has sent me spare fans to try and that made all the difference in noise. Whether they’ll keep sending the enclosure with high-performance fans, remains to be seen.
There are no intelligent fan controls. You’ll either mod the case or accept the speed of whatever fans you got your hands on. This leads me to my next step – testing thermal performance. That’s a challenge considering 6 CPUs inside – I do, however, have a tool just for that. You can see it in action in my Postgres in NodeRED. A nifty flow, devised for occasions just like this.
Throwing the load at this thing shows exciting results. Thanks to incredibly big heatsinks, the excessive heat is drawn quickly out of the processor (and components) and removed from the case. After 15 min of benchmarking, none of the CM4 boards got even close to the thermal ceiling.
The results also show the small distribution of heat inside the case could be attributed to different CM4 configurations. It’s all I had on hand. The average temperature range was from 45℃ to 51℃ – when adjusted to 18℃ ambient. And all that with the case of using low RPM fans. At idle, DeskPi Super6C sails steady at 35℃ – which is a testament to how effective the heatsinks are.
Remove the heatsinks and the temperature difference is drastic. CM4 boards quickly reach the thermal throttle point and CPUs scale back to keep the temperature under 82℃. The heatsinks alone are great help – so if you don’t want to shorten the life span of the precious and hard-to-obtain CM4 boards – budgeting for the enclosure makes a lot of sense.
DeskPi Super6C – but why?
The most practical example I could come up with is the web-hosting. A launch day of the Raspberry Pi 4 board was hosted on 18 Raspberry Pi boards clustered together to serve the website to visitors managing peak traffic of 10mln views in a day. A task usually outsourced to more enterprise-grade equipment. The launch was pulled off well, even though some of the abilities of the Raspberry Pi 4 board weren’t available.
DeskPi Super6C offers roughly 30% of that computing power – so by crude maths, it could probably withstand a peak traffic of 3mln (give or take) a day. Traffic, I would really like to see on my website any time of day.
NotEnoughTech is hosted by a modest (but expensive) VM which brings 2 cores (shared), 2GB RAM and 40 GB of storage at £70/month. I know for a fact, that this hardware would fold if traffic reaches 50k in a single day. I can dream about daily traffic this big, but the fact remains – I paid over £5000 in hosting costs so far.
A modest DeskPi Super6C configuration with CM4 boards with 4GB of ram and 1TB SSD storage would bring 24 1.5GHz (with possible OC to 2Ghz) dedicated CPU cores, 24GB RAM and 6TB of fast storage with possible redundancy. All for a mere £850. It’s not an unreasonable investment. If the Foundation can do this, so could I and many more companies interested in small web hosting. The fact it happened in the past, provides assurance, regardless of what “nay-sayers” will say about using hobbyist grate boards to host enterprise infrastructure.
There are other valid uses, including education etc, but at its heart, DeskPi Super6C is a product for niches. A product I’m glad exists.
Home automation monster
Don’t worry, even I’m not insane enough to upsell the DeskPi Super6C for home automation, except I’m totally sold on using one as such. This time around the benefit isn’t cluster computing – but an insanely convenient form factor.
I experiment a lot. Not everything worked out the first time around, and on occasion, my experiments brought down my main automation server. At the moment, I use 3 separate automation servers. One where my matured automation is hosted, one to play around and tinker with – which also receives passive updates from all sensors at home and one that I reinstall each time things go wrong and beyond repair.
That’s 3 Raspberry Pi 4 running NodeRED 24/7 at approx 5-7W each. DeskPi Super6C runs 6 CM4 boards and draws about 17W at idle, takes less space and it’s faster thanks to the NVMe SSD support. OK, there are better ways of spending money on automation, but I can appreciate the value it brings to the table.
Insane Octorpint server
A long time ago, I evaluated Raspberry Pi 4 boards in terms of running multiple Octoprint instances on a single board. I established that you could safely run 8 instances of Octoprint at the same time, as long as you don’t use a camera stream. If you do the math, you will quickly discover that a single DeskPi Super6C could stream G-Code to 48 printers. The I/O could be an issue, but with wireless options on the horizon, things are looking up.
Clustering
The last option is probably the most applicable. You could run a cluster for… well cluster computing. If you are not sure what cluster computing is, DeskPi Super6C is probably not for you. Anyone with a beginner’s knowledge of the subject will quickly understand the benefits of having a relatively inexpensive cluster to hone your skills on.
Final thoughts
DeskPi Super6C kit can be fantastic if you have a specific, number-crunching use case in mind – and absolutely overengineered piece of tech to anyone else. It’s a shame the board came out at a time when the availability of CM4 boards was low. Thanks to the help of my friends, I was able to populate all slots, you may not have the same luck for months to come. Let me know how would you use DeskPi Super6C in this Reddit thread.