What you'll learn:
- 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
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.