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!
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.
Hi, I'm Wolf. I'm a computer engineer who specializes in robotics, computer vision, and embedded systems. I am a huge fan of the Raspberry Pi minicomputer because of the versatility and power that it packs into an extremely inexpensive package, making it accessible to nearly everybody who wants to learn. I've worked with it as both a professional and a hobbyist, and I really enjoy teaching others to use it.
I've written more than a few books and created a few courses, and I've received funding in the past from NASA for some work in autonomous submersibles. Try out the Raspberry Pi with me - I think you'll be glad you did!