Software development

Using prototyping to select software for a research software project

Author: Mike Jackson
Posted: 1 Mar 2021 | 14:03

A selection of macaronsChoosing the right software for use in a research software project can be challenging. How do we know which software is both fit for purpose and provides a sound basis for our project for the foreseeable future? And, how do we make such a choice given that the time and effort to explore what could be myriad alternatives may be limited?

This was a challenge we faced in the RiboViz project, a multi-disciplinary team of biologists, bioinformaticians and research software engineers based at EPCC and The Wallace Lab at University of Edinburgh, The Shah Lab at Rutgers University, and The Lareau Lab at University of California, Berkeley. RiboViz is an open source package to help us develop our understanding of protein synthesis via analysis of ribosome profiling data. At the heart of RiboViz is an analysis workflow, implemented in a Python script. To conform to best practices for scientific computing, which recommend the use of build tools to automate workflows and to reuse code instead of rewriting it, we sought to reimplement this workflow within a bioinformatics workflow management system.

Software Sustainability Institute’s Collaborations Workshop 2021

Author: Mario Antonioletti
Posted: 8 Dec 2020 | 14:47

The Software Sustainability Institute’s Collaborations Workshop 2021 (CW21) will take place online from March 30–April 1 2021. Registration is now open!

ePython: can we have our cake and eat it?

Author: Guest blogger
Posted: 17 Aug 2020 | 15:02

Maurice Jamieson is a third-year PhD student at the EPCC working on the programmability of micro-core architectures, both in terms of design and implementation, through the development of the ePython programming language.

We recently published a paper at the Scientific Computing with Python (SciPy) 2020 conference that outlined the latest developments to ePython, a version of Python specifically written to leverage micro-core architectures. The paper provides a detailed discussion of the design and implementation of ePython, touching on the latest updates to manage arbitrary large data sets and native code generation. This post will summarise key elements of the paper.

Better software, better COVID-19 research

Author: Mike Jackson
Posted: 30 Apr 2020 | 10:08

A friend recently forwarded me a tweet from Professor Neil Ferguson, director of J-IDEA and the MRC Centre for Global Infectious Disease Analysis at Imperial College London, concerning their COVID-19 pandemic modeller, used by the UK Government:

"I'm conscious that lots of people would like to see and run the pandemic simulation code we are using to model control measures against COVID-19. To explain the background - I wrote the code (thousands of lines of undocumented C) 13+ years ago to model flu pandemics..." @neil_ferguson - 22 Mar

Precision persistent programming

Author: Adrian Jackson
Posted: 30 Oct 2019 | 12:48

Targeted Performance

Optane DIMM

Blog post updated 8th November 2019 to add Figure 6 highlighting PMDK vs fsdax performance for a range of node counts.

Following on from the recent blog post on our initial performance experiences when using byte-addressable persistent memory (B-APM) in the form of Intel's Optane DCPMM memory modules for data storage and access within compute nodes, we have been exploring performance and programming such memory beyond simple filesystem functionality.

For our previous performance results we used what is known as a fsdax (Filesystem Direct Access) filesystem, which enables bypassing the operating system (O/S) page cache and associated extra memory copies for I/O operations. We were using an ext4 filesystem on fsdax, although ext2 and xfs filesystems are also supported.

Optimizing CPU oversubscribed reductions

Author: Guest blogger
Posted: 6 Sep 2019 | 11:17

Gladys Utrera was an HPC Europa3 visitor to EPCC from 1st of July to the 3rd of August 2019. She has been an HPC Europa visitor before - in this brief blog article she tells us what she did this time.

Hi! My name is Gladys Utrera and I currently work at the Computer Architecture Department of the Universitat Politècnica de Catalunya in Barcelona, Spain. There I combine teaching of parallel computing and operating systems subjects with research on HPC topics and parallel programming models. Thanks to the HPC-Europa3 programme I could spend four weeks at the EPCC in the University of Edinburgh with my host Mark Bull who is a very well-known expert in my research areas. This is my third research visit to EPCC, and the second as an HPC-Europa visitor. 

My research involves executions on large multi-core node clusters. In addition, performance evaluations on machines with different architectures characteristics like ARCHER and Cirrus, enrich my results greatly. 

Benchmarking MPI implementations on ARM

Author: Nick Brown
Posted: 30 Aug 2019 | 11:32

The recent installation of Fulhame, the ARM HPC machine based here in EPCC as part of the Catalyst UK programme, raises plenty of interesting opportunities for exploring the HPC software ecosystem for ARM. One such aspect is the relative performance of different MPI implementations on these machines and this is what I was talking about last week at the MVAPICH User Group (MUG) workshop.

Analysing historical newspapers and books using Apache Spark and Cray Urika-GX

Author: Mike Jackson
Posted: 16 Aug 2019 | 16:25

Library booksIn our October 2018 blog post on Analysing humanities data using Cray Urika-GX, we described how we had been collaborating with Melissa Terras of the College of Arts, Humanities and Social Sciences (CAHSS) at The University of Edinburgh to explore historical newspapers and books using the Alan Turing Institute's deployment of a Cray Urika-GX system ("Urika"). In this blog post we describe additional work we have done, to look at the origins of the term "stranger danger", find reports on the Krakatoa volcanic eruption of 1883, and explore the concept of "female emigration".

Understanding protein synthesis via analysis of ribosome profiling data

Author: Mike Jackson
Posted: 8 Aug 2019 | 10:51

The molecular structure of a yeast ribosome, composed of 79 proteins

A multi-disciplinary team of biologists, bioinformaticians and research software engineers based at EPCC and The Wallace Lab at University of Edinburgh, The Shah Lab at Rutgers University, and The Lareau Lab at University of California, Berkeley, will enhance and extend a software suite called RiboViz to extract biological insight from "ribosome profiling" data and drive forward understanding of protein synthesis.

Taking the sting out of gout

Author: Amy Krause
Posted: 1 Jul 2019 | 10:48

 

 

 

 

Gout is estimated to affect 2.5% of the UK population, and is increasing globally in association with cardiovascular disease and obesity. EPCC has been working with Dr Philip Riches of the MRC Institute of Genetics and Molecular Medicine to develop a new app that could lead to improved treatment and better quality of life for patients.

Gout is a type of arthritis caused by excess uric acid in the blood. It is characterised by sudden attacks of intense pain that result in reduced quality of life, work absence and disability. The standard treatment for the condition involves close monitoring of blood urate levels and medication, but the high level of health professional support required to ensure a long term cure of gout is rarely delivered: fewer than half of eligible patients receive preventive treatment and fewer than half of those on treatment receive an adequate dose of medication.

Pages

Blog Archive