Building a post-UNIX cluster
Posted on Tue 25 March 2025 in OS
My klitze-kleiner (very small) cluster
During research for another project using Raspberry Pi compute modules, I've stumbled over the ClusterHAT and immediately fell in love. My experience with cluster computing was, so far, a very traditional one, doing mid- to large-scale quantum mechanical simulations on RRZE's trusty Emmy cluster during my PhD studies. We've maintained a much smaller, but similarly spec'd cluster in our group, so I've seen some of the five-digit invoices. The idea of having a cluster with nodes barely costing 20€ sounds weird, useless, and almost a little wrong - a clear must buy.
Here's my little mid-spec cluster, waiting to be put into operation:
It's sporting a trusty Raspberry Pi 4B, with two Pi Zero 1 and two Pi Zero 2 nodes.
It took some time to come up with a "reason" to buy this, though.
I've always been intreagued by the Plan 9 operating system.
As the official successor to UNIX, it's at the same time more UNIX-like (in concepts), and less UNIX-like (in ergonomics).
While not commercially successful, many of its concepts and technologies were adopted:
the finally almost universally employed UTF-8 encoding,
a more eager everything-is-a-file philosophy (see /proc),
the namespacing of processes (see cgroups on Linux, the basis for docker and friends),
or the 9P protocol (used e.g. by Microsoft to connect to the WSL2 VMs).
Since Plan 9 is fundamentally designed for networked applications (as they were envisioned in the 90s...),
what would be a better use-case than having a real Plan 9 cluster with nodes of different roles?
The best supported way to use Plan 9 in 2025 is the 9front project,
a very active fork of the original Bell Labs code.
There'll be upcoming blog posts documenting my progress in building this system.