Raspberry Pi Cluster#

For my high school senior project, I built a mini HPC cluster using a few Raspberry Pis. This was an incredible educational experience, as it taught me a great deal about Linux system administration, parallel computing, and programming.

Inspiration from INL Internship#

Before completing my senior year of high school, I spent the summer as an intern at INL. I worked in the Advanced Scientific Computing department on a variety of projects.

Throughout the summer, I was constantly exploring and learning about how HPC clusters are setup and operated. By the end of the summer, I felt ready to attempt building one myself. This is what inspired my senior project.

Senior Project Work#

Building the Cluster#

Following my own intuition (along with the help of LOTS of instructions online), I successfully purchased, assembled, and configured my cluster.

Materials I used:

  • 3 Raspberry Pis

  • 1 unmanaged 100Mbps ethernet switch

  • 1 512 GB SSD

  • 1 tiny server rack (Raspberry Pi sized)

  • 1 shoebox for a case

  • Lots of cords, power supplies, duct tape, etc

When the cluster was assembled, I set one node up as the head/login node. This node was connected to the hard drive, and shared a filesystem over NFS to the worker nodes.

Finally, I ran some of my very own parallelized code on it as a test. See my other blog posts for more details.

Research & Report#

Part of the high school senior project was a research paper. I researched the history of parallel computing and its applicability to modern devices of various types.

Lessons Learned#

The primary lesson I learned from this experience was that I am extremely interested in pursuing a career in computer programming. I also learned the complexity of configuring and maintaining multiple Linux machines- especially when they are interconnected.