Software engineers + screwdrivers = ?
Posted: 31 May 2016 | 15:32
I'm firmly of the opinion that one of the best ways to understand how computers work is to get hands-on with hardware. Many of us will have at some point come across a block diagram of a computer - maybe something like the one on the right. That's all well and good, but there's something about physically taking something to bits and putting it back together that helps you understand how everything fits together.
With that in mind, over the last year I've been helping develop a STEM outreach activity based on the idea of building PCs. We first trialled it at Bang Goes The Borders 2015, and ran a workshop at the Edinburgh International Science Festival earlier this year, and kids as young as 5 have been able to successfully get a PC running from scratch.
A few weeks ago, having been volunteered by Mario (thanks!), I ran a cluster-building session for interested EPCC staff. Although EPCC operates a number of large HPC facilities, most of the staff primarily work on software so for some this was actually the first time they'd taken the lid off a PC! In the end seven of my colleagues, including EPCC's Technical Director Alan Simpson, strapped on anti-static wristbands, grabbed a screwdriver and got stuck in.
After only 30 minutes or so of clipping, slotting, plugging and screwing parts together we had seven working PCs booted up and running. Judging by the number of questions asked along the way, I think most people learned something in the process too.
Once all of the machines were up and running, we cabled them together through an Ethernet switch so they could communicate with a server process running on a Mac Mini. Using only the web browser, each PC would download work from the server, perform some computation and return its result to the server. In this case, we used a simple Mandlebrot set generator, where each task filled in a particular region of the plane. This was a nice visual way of understanding the concept of a task-farm, one of the simplest parallelisation schemes, and how individual computers can be connected together as a cluster to perform a single computational task.
I have to say I was pleasantly surprised by how smoothly it all went - although you'd hope that an activity designed for schoolchildren would be managable by all! At the moment we don't have a confirmed plan for the next public outing of this 'Junkyard Cluster', but it might make an appearance at Bang Goes The Borders again later this year. Watch this space!
(Top right): Block diagram of a computer, from http://www.slideshare.net/crazybbk/block-diagram-of-computer-02
(Left): George Beckett with a PC under construction.
(Bottom): All set up and ready to go in the EPCC training room.
Iain Bethune, EPCC