Building a long term sustainable future for your software through Outreach : Part I

Posted by s.aragon on 30 May 2019 - 10:00am
pots with plants growing in them
Photo by Markus Spiske.

By Mario Antonioletti, Edinburgh Parallel Computing Centre and The Software Sustainability Institute.

Producing sustainable software is not just about employing good practice – e.g. using a revision control system, documentation, testing, etc. – but also about ensuring that, for a long term future, we can generate motivated, well-trained developers that will continue to contribute to and develop your software, as well as creating a potential set of savvy end users that will  want to use it.

We, at the Edinburgh Parallel Computing Centre (EPCC), feel that it’s important to start this process when they are young, so we’ve been trying to engage them through a number of outreach activities. Clearly trying to engage young people is a long term goal - however, it’s not all just about the young – educating the public by engaging them through a number of interactive tasks they can be involved with also produces benefits to the nation as a whole in the long run.

In this two-part article, we share our experiences from EPCC and try to encourage you to do the same for your specific domain. This first part focuses on the software/hardware based approaches that we have taken to perform our outreach activities. The second part will focus on some of the more physical activities that illustrate the benefits and techniques used in our domain: High Performance Computing (HPC) and the use of supercomputers as we currently run the UK National Supercomputing Service from EPCC.

Supercomputers are used in the UK to do state of the art research - to model parts of nature that are too big (the cosmos) or too small (quarks), that evolve too slowly (the universe) or too quickly (protein folding), too expensive to do lots of (colliding cars for safety), etc. It’s not just either academic interest but also of things that have a direct impact in our lives - predicting tomorrow’s weather today and not tomorrow, ensuring that new traffic sites do not become gridlocked, the next animation blockbuster or rendering special effects on movies that we want to watch, etc. All of these activities employ lots of computing capacity, possibly requiring supercomputers if not HPC. We want to let people know what supercomputers are and how they are used.

Over the last seven years at EPCC, we’ve had an active mostly grassroots driven voluntary outreach programme, though now and again we do get leverage from various funding sources. As EPCC is largely an HPC based Institute, though, with an increasing interest in data science, our focus in outreach has been mainly to demystify supercomputers. We have done this by taking our demonstrators and activities to schools and science festivals. This all started with our attendance at the British Science Festival 2012 (BSF12) held in Aberdeen.

For BSF12, our flagship demo centred around a molecular dynamics simulation, see the image below. The software actually run on the national supercomputing service which, at that time, was HECTOR. In principle, all of this worked well. However, other than running faster than would have been possible on a laptop the experience was a little bit underwhelming. We were also totally reliant on a network being available at the event and for that network to be stable.

Image of pheromone

A Pheromone (stick molecule figure) trapped in a mouse urinary protein (depicted by the long ribbons) in a water molecule box (water molecules in the background) as depicted by VMD. The objective was to apply external forces to the pheromone through the interface to allow the pheromone to ​​​​​exit the protein molecule and make the mouse wee smell. All of this was ​​​​​​based on real science.

We continued to use this demo at other events connecting to the actual UK national supercomputing service until we obtained funding via EPSRC to do outreach which in 2015 allowed us to construct an 18 Raspberry Pi parallel cluster, christened as Wee Archie, to take on the road with us. This provided us with a standalone solution that we could take to external events without requiring a venue to provide a stable network. Moreover, it had flashing lights and you can’t think of a supercomputer without flashing lights! The system proved to be in such high demand that a second system was commissioned and constructed in November 2016. The original molecular dynamics demo was ported to this new platform but a push towards novelty required us to develop new applications that would be appealing to children, that could demonstrate the benefits of using multiple processors working in parallel - the basis for all supercomputers nowadays - and that had a compelling and memorable narrative.

image8.png

Wee ARCHIE on its opening night. The LED are used to provide visual cues at the time showed a rotating “I”, as depicted in the image above, indicating the processor was idle. This has since been changed to indicate the load on the four Raspberry Pi cores, the amount of memory being used, the temperature, the network load on each process as a live bar chart.

Our first new Wee Archie demonstrator consisted of a dinosaur racing game run on a parallel computer where each participant specifies the characteristics (body size, upper leg length and lower leg length) of one of four dinosaur types. These are raced on a running track. The work is based on real research software, GaitSym, with the dinosaur models from the animal simulation project run at the University of Manchester. Again, we have taken real research software and applied it in a novel and what we hope is a fun way and dinosaurs are always popular with children so this was an additional draw.

Dinosaur image6_0.png

Our next offering consisted of designing an airplane wing where you can change the angle the wing makes against the airflow, the camber (i.e. the shape) and the thickness. This is then submitted to our machine to calculate the airflow around the wing and the lift being generated by the wing, which in turn determines whether a plane is able to take off or whether it crashes and its passengers need rescuing.

image2_11.pngimage1_23.png

 

image4_3.png        image10_0.png

Even if your plane is not able to take off you will still be able to fly so, based on the drag and a finite amount of fuel we can calculate how far a plane with your wing would be able to get:

map of how far the plane got

It’s a simplified model but it ensures that our demo software is always fresh. Since then, a new demo was developed to determine how to place effective coastal defence in order to protect the coastline and properties therein against a coming storm. This was used at the Big Bang Fair 2019 at the NEC in Birmingham.

wee ARCHIE demo

Wee ARCHIE and the wing demo in action at the Big Bang Fair 2017. The demo was also used for the 2018 Big Bang Fair.

We’re always looking for new ways to demonstrate software running on our miniature parallel system that shows science in a fun way. Having a portable machine that models the basic principles behind supercomputers certainly makes it easier to convey what supercomputers do and how. We have written instructions on how to network Raspberry Pis together for people to build their own mini parallel systems. The demos constantly have to be refreshed to stop our exhibits from going stale. These have to be interesting and tell and have a memorable narrative illustrating how parallel computer and hence supercomputers can be used to do things faster or allow us to use bigger models. However, this is only part of a bigger coherent narrative. In the next post, we’ll describe some of the activities that illustrate the benefits of parallelism which, for very little investment unlike building a Wee Archie, you can use.

Read Part II of this post.