I’ve been a bit quieter than normal on the forum because I’ve been distracted by some hardware. Meet my new hardware platform…
It’s a beast, although the LEDs are a bit bright so it’s not that easy to see it. Also whilst the picture fills the frame, this is only a Mini-ITX case so pretty small for what’s in it.
It’s a 4-node cluster. It’s got 24 CPU cores, 40GB RAM, 96GB EMMC, 2.5TB of SSD disk (part SATA, part M2 NVME). It’s also got 12 TOPS of NPU (used for AI stuff). For the technically minded the details are:
Nodes 1 & 2 - Raspberry Pi Compute Module 4 - 4GB RAM, 16GB EMMC, 4*ARMv8 CPU cores, 500GB SATA disk connected by mPCIE. Running a hybrid of Raspberry Pi OS with DietPi.
Node 3 - Turing RK1 - 16GB RAM, 32GB EMMC, 8*ARMv8 CPU cores, 1TB of M2 NVME disk, 6 TOPS NPU. Running Ubuntu 22.04 with XFCE4 desktop
Node 4 - Turing RK1 - 16GB RAM, 32GB EMMC, 8*ARMv8 CPU cores, 500GB of M2 NVME disk, 6 TOPS NPU. Running Ubuntu 22.04
The board that this is all plugged into is a Turing Pi 2 cluster board. That’s got it’s own processor, memory and OS with SSH access and a Web GUI to the Board Managment Controller (BMC). The BMC allows you to turn the individual nodes on and off, change which one currently owns the ‘control’ USB port and you can also flash an operating system onto any node from the BMC. The board also has lots of blinkenlights so it looks cool sitting next to me flashing away as it does stuff.
Whilst there’s a lot of oomph in the box it’s quite frugal with power, peaking at about 60w when everything is doing stuff at the same time.
I’ve just finished getting the OS flashed onto each board today and also have them running from disk rather than their slower onboard EMMC memory. Next step is to get Docker Swarm and GlusterFS installed. This will allow me to deploy containerised apps using multi-node storage. It’s got a level of fail-over, so if one node fails, the apps running on that node are moved to another node. The storage is spread across the nodes too, a bit like RAID, so if apps have to move they’ll still find the storage they need.
What can I do with it? Well what can’t I do with it!
My first plans are to add a MariaDB container so that all the apps in the house that need a database have a centralised one available. I’ll also be adding a centralised MQTT server for handling weather and smart home data. I’ll also move the weather station software across to it. I’d like to move the smart home (Home Assistant) software to it too, but I need to do some research about how that will work first.
The Turing Pi 2 has a full set of Raspberry Pi compatible GPIO pins attached to Node 1, so I’ll also be investigating whether it’s feasible to move my Software Development Pi onto it.
After that…well I’m still thinking of ideas of how to use it.