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.
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.