Pi
Cluster.

A distributed Raspberry Pi compute setup for offloading ML training runs, simulation workloads, and parallel batch jobs from the main development machine.
Infrastructure  |  Raspberry Pi  |  Distributed Compute

The Problem.

Running Gazebo simulations, PyTorch training loops, and ROS2 nodes simultaneously on a single machine creates resource contention that slows everything down. The Pi cluster offloads batch workloads that don't need GPU but do need persistent, always-on compute — freeing the main machine for interactive work.

Hardware

Raspberry Pi 4/5

OS

Ubuntu 24.04 Server

Networking

Gigabit Ethernet

Orchestration

SSH + tmux / Ansible

Primary Use

ML Batch + Simulation

Cluster Topology.

Node Layout — Head + Worker Architecture
Head Node
Job scheduler & SSH gateway
Worker 01
RL training fragments / batch scripts
Worker 02
ROS2 node hosting / Gazebo aux
Worker 03
Data pipeline & logging

Workloads.

01
RL Training Fragments CPU-bound tabular Q-learning runs and small PyTorch DQN training jobs that benefit from overnight persistence rather than interactive GPU time. Workers pick up training scripts via SSH and log results back to shared storage.
02
ROS2 Node Hosting Offloads auxiliary ROS2 nodes — data logging, sensor bridges, topic recorders — that would otherwise consume CPU cycles on the main Gazebo host machine during simulation runs.
03
Parallel Batch Jobs Hyperparameter sweeps and dataset preprocessing jobs distributed across workers using a simple SSH-based task queue. Not Kubernetes — intentionally minimal, because the workloads don't need orchestration overhead.
04
Always-On Availability Cluster draws <40W total at idle. Runs 24/7 on a PoE switch — jobs can be kicked off and left to finish without keeping the main workstation powered overnight.

Pragmatic Infrastructure.

This isn't a showpiece cluster — it's a practical tool. Four Raspberry Pis on a PoE switch consume less power than a gaming GPU at idle, cost a fraction of cloud compute for persistent workloads, and build real hands-on knowledge of Linux networking, SSH key management, and distributed job coordination. That knowledge transfers directly to managing ROS2 multi-machine setups and simulation infrastructure.

Raspberry Pi Ubuntu Server Distributed Compute SSH / Ansible ROS2 ML Training Linux Networking PoE Switching