Implementing MPI parallelisation in a the Fluctuating Finite Element Analysis (FFEA) tool
Project reference: 1507
FFEA uses a continuum mechanics description of soft macromolecules and is specifically designed to take advantage of emerging low resolution experimental data, such as protein structural maps from the Electron Microscopy Data Base. The model is a Finite Element algorithm which has been generalised to include thermal fluctuations, enabling the simulation of large protein complexes within their cellular environment, and therefore provides acces to the elusive mesoscale regime between 10 and 500nm that is too computationally expensive for atomistic molecular dynamics, but too small for conventional macroscopic simulation techniques to be applicable.
The aim of this work is to implement MPI parallelization to the FFEA code to enable simulations of many (e.g. 105) proteins on the millisecond timescale. The current code is limited to shared memory.
By improving the performance of the FFEA software we will open up new regimes of soft matter physics and molecular biology to computer simulation. In the medium to long term, we expect this methodology to become a standard tool for in silico design and investigation in both the commercial and academic sectors. Thus, for example, a researcher in the area of soft colloids may use the code to investigate the effect of colloid stiffness on diffusion. A researcher in the field of motor proteins may use the code to develop a realistic model of protein motion including interactions arising from the natural biological environment. The advantage of the FFEA method, in both cases, is that it provides a description of the system at an appropriately coarse-grained level for tractable simulation.
By improving the performance of the FFEA software we will open up new regimes of soft matter physics and molecular biology to computer simulation. In the medium to long term, we expect this methodology to become a standard tool for in silico design and investigation in both the commercial and academic sectors. Thus, for example, a researcher in the area of soft colloids may use the code to investigate the effect of colloid stiffness on diffusion. A researcher in the field of motor proteins may use the code to develop a realistic model of protein motion including interactions arising from the natural biological environment. The advantage of the FFEA method, in both cases, is that it provides a description of the system at an appropriately coarse-grained level for tractable simulation.
Project mentor: Toni Collis
Site Co-ordinator: Catherine Inglis
Learning Outcomes
The student will gain experience of parallelizing a real scientific code to the standard required to allow it to be open-sourced and ensuring the accuracy of the code to a standard required for academic and industrial applications and research. A basic understanding of continuum mechanics and molecular dynamics will be developed along with detailed knowledge of profiling tools and parallelization techniques.
Student Prerequisites (compulsory)
A working knowledge of MPI and C++.
Student Prerequisites (desirable)
Training Materials
none
Workplan (tentative)
- Weeks 1, 2 and 3: Profiling of the software and design simple MPI implementation for many interacting proteins using standard MD parallelisation techniques. Deliver Plan at the end of week 3.
- Weeks 4, 5 and 6: Implementation of MPI design
- Week 7: Perform test calculations to assess speed and parallel performance.
- Week 8: Write final report.
Final Product Description
The simulations that will be possible with an MPI parallelization of the FFEA code and enhanced visualization tools will provide unique visualizations of large protein complexes in their cellular environment on a timescale previously unseen in molecular simulation. These simulations will be provided as videos and can be used to explain protein behavior or the importance of the use of HPC in understanding biology.
Adapting the Project – Increasing the Difficulty
A more sophisticated parallelization strategy would be designed using domain decomposition on the individual large macromolecules across multiple cores.
Adapting the Project – Decreasing the Difficulty
Profiling of the code to provide key information on the bottlenecks and a simple MPI parallelization of the main time loop.
Resources
The student will need access to ARCHER and a C++ compiler which can be provided by the host, EPCC.
Organization
[…] 7. MPI in FFEA […]