Data Access and Movement Modelling for HPC

Data Access and Movement Modelling for HPC

Supervisors: Dr Oliver Brown, Dr Daniel Holmes

Project description:

The future of high-performance computing is heterogeneous, and with that heterogeneity comes increasingly complex decisions about where data should be located for optimal performance. The range of devices on which data might be hosted on a machine now includes GPUs, FPGAs, and non-volatile memory, as well as the main system DRAM. The detail of memory management on modern computers is hugely complex, with the application (or applications), the operating system, and hardware threading and caching policies all playing a role. That said, the constrained context of HPC, where we have knowledge of specific data access patterns and hardware, opens up the possibility of optimally locating data.

In practice however, the models required to support this decision-making do not yet exist. As part of EPiGRAM-HS ( EPCC has developed a framework, inspired by the LLVM compiler infrastructure, for modelling the cost of data accesses and intranode data movement. The framework aims to strike a balance between complexity and usefulness, and a large part of the project will be the development of new models for HPC applications in this framework. In addition, other related topics we would hope to investigate include extension of the model to include internode communication, and optimal loop tile size prediction using queuing theory.

Importantly, in this project we are interested in applying the model to optimisation of specific applications in domains such as computational fluid dynamics, and weather modelling. The project will include profiling of such applications both to evaluate the performance of, and to provide input data for the model. Access will be provided to HPC platforms such as ARCHER 2 and Cirrus, which includes GPU nodes, for these purposes.

Student Requirements:

  • A UK 2:1 honours degree, or its international equivalent, in a relevant subject such as computer science and informatics, physics, mathematics, engineering, biology, chemistry and geosciences.
  • You must be a competent programmer in at least one of C, C++, Python, Fortran, or Java and should be familiar with mathematical concepts such as algebra, linear algebra and probability and statistics.
  • You must demonstrate a level of English language competency that will enable you to succeed in your studies (further information available here:

Desirable Skills and Experience

  • Detailed knowledge of computer hardware.
  • Experience with quantitative modelling, e.g. queuing theory, Markov chains.
  • Familiarity with numerical application data access patterns



Our world-class systems are available for use by research and industry


View our research papers

A full list of EPCC's research papers and other outputs can be found via the University of Edinburgh's Research Explorer

Our commercial brochure