skip to content

Department of Computer Science and Technology

Today was the annual Wheeler lecture at the Computer Laboratory, and before the main event, a talk by Andrew Herbert, there was a Minute Madness where people from across the Lab, ranging from MPhil students through to professors, talked for one minute about their research with a single slide as a prop.  My slide and something approximating the words I used are below.

“Hello!  My group works on ways of making applications go faster, through a technique called program parallelisation.

If you look on the left of the slide, the red wavy arrow represents a regular sequential application with a single thread of execution within it.  This means that instructions execute one after another in sequence.  As you can see, it is  r e a l l y    v  e  r  y    s   l   o   w    to wiggle its way down the slide to finish its work.  We use the compiler to analyse its internals, to work out which parts of it are dependent on the other parts, and how all those 1s and 0s that make up the binary actually interact with each other.  Once we’ve done that, we can split it up into lots of smaller parts, which become new and shorter threads on the right.  These threads are really fast because they don’t have much work to do, and since we can run them all in parallel, it takes no time at all for them to wiggle their way through all their work and save tons of time in executing the program.”

It was really quite difficult trying to represent the compiler, or parallelisation in general.  I also spent far too much time using gimp to make some fancy-looking picture, until abandoning that for the more simple graphics shown above.  Hopefully the result is a clear and fairly intuitive slide which enhances what I’m trying to say and gets across the general thrust of my group’s work to the audience.  I’d love to know what other people think of it though!