Build Your Own Super Computer with Raspberry Pis

Create a computer cluster using Raspberry Pi boards - everything from hardware, software, design and networks
Rating: 4.1 out of 5 (375 ratings)
27,537 students
Build Your Own Super Computer with Raspberry Pis
Rating: 4.1 out of 5 (375 ratings)
27,537 students
Build a super computer using multiple Raspberry Pi 2 B+ computers with Raspbian
Create a working Raspberry Pi from a basic Raspbian installation and customize it to your needs
Create and spool up slave Raspberry Pi nodes in a fraction of the time it takes to set up each one
Manage the Raspberry Pi computer cluster entirely using the Linux command line interface with comfort and ease
Install OpenMPI, compile and run multi-processor programs from the ground up
Learn the fundamentals for writing a multi-threaded program in C
Create a computer network using your home router, or expand to a production-level network with a managed switch
Export and mount drives and communicate between your Raspberry Pis all on the command line

Requirements

  • Students will need to own a laptop or desktop with an internet connection and an SD Card Reader / Writer
  • Materials for this class can vary based on your ambitions, but the minimum required materials are: 2 or more Raspberry Pi computers, 2 or more ethernet cables, a router or network switch, 2 or more micro-USB power supplies (5 Volt, 1.5 to 2 Amps), a wired USB keyboard, 2 or more micro SD cards (8 or more GB), a monitor with an HDMI input, and an HDMI cable.

Description

Have you ever wanted to build your own super computer? Do you want to write programs that can run simultaneously on as many computing nodes as you wish? Do you want to learn what it takes to combine the processing powers of two, four, eight or more Raspberry Pis and run simulations at a fraction of the time and cost of running on a mainframe or even a high-end desktop computer?

If you've answered yes to any of these questions, then this course is for you. In this step-by-step series of video lectures, you'll learn how to set up your own computer cluster using cheap, affordable computers - and it doesn't get any more affordable than the Raspberry Pi.

Whether you're a Raspberry Pi enthusiast, a scientific researcher in need of cheap, expandable processing power, a programmer looking to expand their horizons with multithreaded algorithms, or a student looking to learn more about using Linux to build computing clusters, then you'll find plenty of value in this class as you build your own Raspberry Pi super computer.

These lectures are specially tailored to the Raspberry Pi 2 B+ board using Raspbian (a distribution based on Debian), which is a good place to start if you're unfamiliar with the Linux command line or building computer networks. If you are comfortable with the various flavors of Linux, you can use this course as a guideline for what it takes to build your own cluster using a different distribution.

Lastly, this class is a "living course", which means as we receive feedback and requests for specialized tutorials or updates, we'll continually update and add more to improve the quality and content of the course.

Who this course is for:

  • This course is designed for anyone with a zeal for learning how computers work - especially with an interest in creating your own computer cluster
  • You should be comfortable using a Linux command line, but you don't have to be knowledgeable - every single step of the way is recorded and documented to follow along easily
  • If you love Raspberry Pis and own more than one, building a computer cluster is a fun way to learn how to get them to interact together and use all of their computer processing power combined

Course content

13 sections • 51 lectures • 2h 17m total length
  • An Introduction to the Course
    04:46

Instructor

Computer Science Graduate Student
Ben Heidorn
  • 4.1 Instructor Rating
  • 375 Reviews
  • 27,537 Students
  • 1 Course

I am a Computer Science graduate student starting at Penn State University in Fall 2015. I previously worked as a software developer and development team leader at a start-up and received my Bachelor of Science in Physics in 2012. Primarily self-taught in programming, I have 7 years of experience developing desktop software, web and mobile applications, and my primary motivator is a lifelong love of learning, building programs, and tinkering with innovative hardware and software.