Key Points
Introduction
- A mini-HPC using Raspberry Pis solves common HPC training challenges: cost, restricted access, internet dependency, and resource contention
- The minimum hardware is one or more Raspberry Pis (minimum version 3, preferably v4+/2GB+ RAM), a network switch, ethernet cables, SD cards, and a USB storage device.
Preparing an SD Card
- The Raspberry Pi Imager tool writes OS images to SD cards and supports pre-configuration before first boot
- Configure hostname, username, password, SSH, and WiFi in the Imager to save manual setup time after booting
Booting and Updating
- Use
ping node01.localto confirm a Pi is reachable on the network before connecting - SSH with
ssh <username>@<ip-address>to log in - Always update packages with
sudo apt update && sudo apt full-upgrade -ybefore installing software
Configuring the login node
- The login node acts as NAT gateway, DHCP/DNS server (dnsmasq), NFS server, and Slurm controller
- iptables NAT masquerading allows compute nodes to reach the internet through the login node’s WiFi
- munge provides authentication between Slurm daemons; all nodes must share the same munge key
- EESSI provides a shared, architecture-aware software environment accessible from all nodes
Configuring a compute node
- The compute node must have the same munge key as the login node for Slurm authentication
- Copy
slurm.confandmunge.keyfrom the login node before startingslurmd - Mount shared filesystems via NFS entries in
/etc/fstab - Disable WiFi on compute nodes so all traffic routes through
eth0to the login node
Some extra things that can be done
-
ddcan create an exact disk image of a configured compute node SD card, which can then be written to new cards - PXE booting allows compute nodes to load their OS from the network, removing the need for individual SD cards
Testing & running your first job
- Use
sinfoto check that all nodes are visible and inidlestate before submitting jobs -
sbatchsubmits batch jobs;squeuemonitors the queue; job output goes to the file specified by--output -
srun --pty bashopens an interactive shell on a compute node for debugging
Preparing compute nodes for eessi
- Loop devices map regular files to block devices, allowing them to be partitioned and mounted like physical disks
- This provides EESSI with a mountable filesystem at
/cvmfson diskless compute nodes