
A general introduction and welcome to the course.
In this lecture, I go through exactly what constitutes what we think of as 'supercomputing', and offer a pictorial history of some important supercomputers.
In which I outline the parts necessary to build the cluster. I've included a parts list with links to the exact parts I use.
In which I enumerate all of the software you'll need to download, and take you through the necessary setup of your Pi. You'll need to edit your /etc/network/interfaces file, and I've included a working example to use as a template.
In which I take you through the process of unpacking, building and installing the MPICH implementation of MPI open-source software.
In which we manually build and install the mpi4py software used to control the cluster.
In which we set up SSH key authorization, connect the cluster together, and run our first distributed programming script.
In which we discuss ways to further experiment, and I give several resources to learn more about the software involved in parallel computing paradigms.
Parallel computing - cheap!
As computer processors approach their limits in both size and speed, it has become apparent that further advances in computational power will require parallel programming, with many processors networked together and attacking large problems in chunks.
Although supercomputers are far outside of the price range of the normal hobbyist, cheaper minicomputers like the Raspberry Pi can be networked together in the same way to allow hobbyists and experimenters to learn about this powerful form of programming.
Contents of the course
This course takes you through the process of using some simple hardware and open-source software to construct a parallel-networked cluster, ready to attack larger computational problems. You'll learn:
It's a great introduction to parallel programming, and after only a few lectures you'll have a working Beowulf cluster, based on the inexpensive Raspberry Pi minicomputer. The lectures are entirely video-based, along with included PDFs, example configuration files, and parts lists.
When you're done with this course, you'll have a suite of new skills that can easily be applied to clusters constructed from more powerful machines. It's a great, inexpensive intro to parallel computing!