Case studies

The Bristol RSE team support a range of projects across the university, many of which can be found in our GitHub organisation. Here are some example case study projects that help demonstrate some of the work that we can do.

MetaWards

MetaWards is a SIR-based metapopulation disease modelling program used to model how epidemics can spread through population. The Bristol RSE team were drafted in to help modernise this code so that it could be applied at scale to model the Covid-19 pandemic. MetaWards was originally developed by Leon Danon as a tool for metapopulation modelling. This was originally written in C. The Bristol RSE team were brought on board to modernise the code, add support for new features, and improve the robustness and trustability of the code as it was applied to modelling the Covid-19 pandemic. We ported the code to Python as this significantly improved its readability and extensibility. We used Cython to speed the code up, achieving a single-core performance of the new Python code that was faster than the original C code. We then parellelised the code using OpenMP, and then further parallelised using mpi4py to support running massively parallel jobs on a cluster. This significantly improved the runtime for single jobs (from minutes to seconds), and made it easy for researchers to run massive parameter sweeps using thousands of CPU cores. We added a complete unit test suite, complete documentation, and a complete set of tutorials. We used the modernised design to create new features that supported completely new ways of modelling, based on multi-network demographics. We created an easy inteface for designing new metapopulation networks, new network models and new disease descriptors. The software is now used in production, and has formed the basis of successful follow-on funding applications. The work was completed between March and August 2020.

Brunel's Network

Brunel's Network is a project undertaken by the Brunel Institute, which is a collaboration between the University and the SS Great Britain Trust. James Boyd, Research Fellow at the Institue, aimed to build an interactive digital exhibit that would be put on public display as part of this summer’s 50th Anniversary celebrations of Brunel’s second ship, the Great Britain, returning to Bristol. James had built a historical network of the interactions between the individuals and institutions involved in the building of Brunel's three ships, the Great Western, Great Britain and Great Eastern. He needed a method of interacting with what, at the time, were static networks. The Bristol RSE team joined the project to build a data model and some interactive visualisations that would enable both James, and members of the public, to explore the network. The result is Brunel's Network, a pure Javascript application that runs in a web browser. This is based on React using a custom data model and visualisation code to dynamically render different networks based on a data model that we developed based on James's research. The project started in early 2020. The challenges of developing a public exhibit in 2020 are detailed in a blog post. The result was a pivot to build a responsive application that was suitable for phones and tablets. This has been successful, with the site now used as a platform for future research and funding applications.

BioSimSpace

BioSimSpace is an interoperability framework for building robust workflows for biomolecular simulations. The project started via an EPSRC Software Flagship grant in partnership with CCPBioSim. The aim was to develop interoperability wrappers around the wealth of simulation software that is used by the biomodelling community. BioSimSpace is written in a combination of C++ and Python. We developed the software over a period of two years, creating a robust design, full documentation, full test suites and a fully open software development philosophy. BioSimSpace is now in use by several research groups, including groups in industry. BioSimSpace is taught via workshops run by CCPBioSim, is published in the Journal of Open Source Software, and has received follow-on funding via an EPSRC Impact Accleration Award in partnership with UCB.

Cluster in the Cloud

The Bristol RSE group is often asked to support research groups who want to use cloud computing to accelerate their research. Cloud computing interfaces are very challenging to work with, meaning that often researchers can be daunted by interfaces that are completely unfamiliar to them. To help, Bristol RSEs have developed cluster-in-the-cloud. This builds on-demand, scalable, fully heterogeneous HPC clusters on AWS, Google Cloud or Oracle Cloud (and could be easily extended to support Microsoft Azure). Cluster in the Cloud has enabled many research groups at Bristol and beyond to make excellent use of cloud resources. Cluster-in-the-cloud uses custom Terraform and Ansible scripts to provision an on-demand Slurm cluster, with a small amount of custom Python used to switch compute nodes on or off based on submitted jobs. The clusters have full monitoring via Grafana, software installation via Spack, EasyBuild and/or Singularity, have a web-based administration gui, and support running Jupyter notebooks and running parallel jobs via Dask.

Edit this page