Project reference: 1813
EPCC has developed a small, portable Raspberry-pi based cluster which is taken to schools, science festivals etc. to illustrate how parallel computers work. It is called “Wee ARCHIE” (in fact there are two versions in existence) because it is a smaller version of the UK national supercomputer ARCHER. It is actually a standard Linux cluster and it is straightforward to port C, C++ and Fortran codes to it. We already have a number of demonstrations which run on Wee ARCHIE that demonstrate the usefulness of running numerical simulations on a computer, but they do not specifically demonstrate how parallel computing works.
This project aims to develop some new demonstrations that show more explicitly how a parallel program runs. This could be done by showing a realtime visualisation on the front-end of Wee ARCHIE, or by programming the LED light arrays attached to each of the 16 Wee ARCHIE nodes to indicate when communication is taking place and where it is going (e.g. by displaying arrows). The aim is to make it clear what is happening on the computer to a general audience, for example a teenager who is studying computing at school or an adult with a general interest in IT.
We have existing parallel versions of two simulations that would be interesting to investigate: a simple traffic model and a program that simulates the way that fluid flows in a cavity. Versions are available in both C and Fortran.
The project will involve understanding how these programs work, porting them to Wee ARCHIE, designing ways of visualising how they are parallelised and implementing these visualisations. If successful, these new demonstrations will be used at future outreach events.
The Wee ARCHIE parallel computer, with someone from our target audience for scale!
Project Mentor: Dr. David Henty
Project Co-mentor: Dr. Nick Brown
Site Co-ordinator: Ben Morse
- Working with real parallel programs.
- Learning how to communicate technical concepts to a general audience.
Student Prerequisites (compulsory):
Ability to program in either C, C++ or Fortran and basic knowledge of MPI.
Student Prerequisites (desirable):
Previous experience in visualisation and/or animation would be a bonus.
The SoHPC training week should give the student all the knowledge they need. The Supercomputing MOOC would also be useful – if this does not run in a suitable timeframe then we can give the student direct access to the material.
The project will start with the student familiarizing themselves with existing parallel programs including a traffic model and a fluid dynamics simulation. The second phase will be porting these to Wee ARCHIE. After that, the student will explore ways of making the parallel aspects more obvious to a general audience, e.g. via realtime visualisations or programming the LED light arrays on WeeARCHIE. The final phase will be implementing these methods and packaging the software up for future development.
Final Product Description:
One or more demonstration applications developed for Wee ARCHIE that can be used at events such as science festivals, and made available more generally for others interested in the public understanding of science.
Adapting the Project: Increasing the Difficulty:
There are many additional programs that could be looked at in addition to the the two simple simulations mentioned above.
Adapting the Project: Decreasing the Difficulty
Only the simpler of the two codes (the traffic model) could be considered. If implementing visualisations on Wee ARCHIE is too difficult, they could be demonstrated in principle on another system (e.g. a laptop) or simply presented as design concepts for later implementation.
The student will need access to Wee ARCHIE at some points, but although we have two systems this cannot be guaranteed as they are often offsite at different events. However, we have smaller test and development systems which will be available at all times.