SATEC Students Build Supercomputer with SciNet

May 18, 2012 in blog, blog-general, for_educators, frontpage

Since the start of the year, on Thursdays after school, students at SATEC @ W. A. Porter Collegiate have met in their school’s ICT lab to build and program a supercomputer of their own.

As computing grows more important — for creating the next Facebook or Google, or for designing bicycles, studying black holes, or improving Canadians’ health — using a single computer just isn’t enough.  More and more, firms and researchers turn to “cluster computing”, building a single supercomputer out of many individual computers.

Learning parallel programming

Three of the students wrestling with an OpenMP problem

Working with staff from SciNet, Canada’s largest open supercomputing centre, the students at the SATEC school, (many of whom have been part of the school’s ICT Specialist High Skills Major program) with the help of their teacher Sacha Noukhovitch and their ICT department, learned how to write parallel programs to tackle the biggest computations, faster.   They learned to use OpenMP to make use of all the processors on modern motherboards, and MPI to communicate between different nodes within a cluster.

Assembling the "Goliath" Cluster

Some of the students  are cabling up what will be the "Goliath" cluster, a cluster of 3 old single-core Pentium-4 desktops with 100Mb ethernet.

Learning the theory wasn’t enough for these students, however.  They started building their own cluster, first using old PCs in one of the school’s computer labs, networking them together and installing BCCD Linux on the systems to start running them as one single compute resource.

Once this computer, “Goliath” was up and running the students started assembling a LittleFe cluster, “David” a cluster with 12 Intel Atom processors and 6 NVIDIA CUDA-capable GPUs, with a top speed  of 13.6 GFLOPS (13.6 billion mathematical operations per second– a power which would have made it one of the worlds fastest computers in 1997).

All the parts for a LittleFe gathered together.   Doesn't look much like a supercomputer at this point.

The LittleFe cluster construction was one part computer engineering and one part carpentry, assembling the aluminum frame, running cables and wiring, mounting the six motherboards to plates which slide into the finished frame.   Once the machine was physically assembled, which took about a month, the software side began, installing BCCD Linux on to the “head node” and then having the “client nodes” boot from the head node.

It's Alive!

On May 9th, the David cluster powered up for the first time. Then the experiments began – how much faster was this mini-supercomputer than Goliath, or their desktops?   What sorts of problems work well in parallel on this cluster?

The students examined the scaling behaviour of three different computer programs on the cluster: Galaxsee, which simulates gravitational N-body dynamics such as early models of galaxy formation; Life, a parallel implementation of Conway’s game of life; and Monkey, software written by one of the SATEC students investigating the “infinite monkey theorem”, measuring the rate at which a sequence of randomly-generated characters matches text from Hamlet.

The team at their booth at University College

The team at their booth at University College

The students presented their results on May 17th at University College at the University of Toronto, at a poster session for high school students working with University of Toronto researchers.  The presented their scaling results and summary of what they learned, and had both the Goliath and David clusters up and running.  The project generated a huge amount of interest as visitors flocked to the booth to ask questions.

Lorenzo Berardinetti, MPP for Scarborough Southwest, came to visit the students and their cluster later at SATEC, and was so impressed that he gave a statement in the Legislature about the project: