MiMiC: A High-Performance Framework for Multiscale Molecular Dynamics Simulations

Andrej Antalík,Andrea Levy,Sonata Kvedaravičiūtė,Sophia K. Johnson,David Carrasco-Busturia,Bharath Raghavan,François Mouvet,Angela Acocella,Sambit Das,Vikram Gavini,Davide Mandelli,Emiliano Ippoliti,Simone Meloni,Paolo Carloni,Ursula Rothlisberger,Jógvan Magnus Haugaard Olsen
DOI: https://doi.org/10.1063/5.0211053
2024-09-26
Abstract:MiMiC is a framework for performing multiscale simulations in which loosely coupled external programs describe individual subsystems at different resolutions and levels of theory. To make it highly efficient and flexible, we adopt an interoperable approach based on a multiple-program multiple-data (MPMD) paradigm, serving as an intermediary responsible for fast data exchange and interactions between the subsystems. The main goal of MiMiC is to avoid interfering with the underlying parallelization of the external programs, including the operability on hybrid architectures (e.g., CPU/GPU), and keep their setup and execution as close as possible to the original. At the moment, MiMiC offers an efficient implementation of electrostatic embedding QM/MM that has demonstrated unprecedented parallel scaling in simulations of large biomolecules using CPMD and GROMACS as QM and MM engines, respectively. However, as it is designed for high flexibility with general multiscale models in mind, it can be straightforwardly extended beyond QM/MM. In this article, we illustrate the software design and the features of the framework, which make it a compelling choice for multiscale simulations in the upcoming era of exascale high-performance computing.
Chemical Physics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to implement an efficient and flexible computational framework in multi - scale molecular dynamics simulations. Specifically, the paper introduces MiMiC (Multiscale Molecular Dynamics with Interoperable Coupling), which is a high - performance multi - scale molecular dynamics simulation framework. The main goal of MiMiC is to connect different external programs in a loosely - coupled manner. These programs can describe different subsystems in the system and perform calculations at different resolutions and theoretical levels. To achieve this goal, MiMiC adopts the Multiple Program Multiple Data (MPMD) paradigm as an intermediary responsible for rapid data exchange and interaction calculation between subsystems. ### Main problems 1. **Requirements for multi - scale simulations**: - Chemical and biological phenomena span a wide range of time and space scales, and methods that can use different resolutions and theoretical levels in one simulation need to be developed. - For example, quantum mechanics (QM) is necessary for describing the reorganization of electrons and atoms, while the molecular mechanics (MM) model is sufficient to describe the properties of most proteins and nucleic acids. 2. **Limitations of existing methods**: - Existing multi - scale methods are usually implemented by extending the functionality of one program. For example, in QM/MM, a QM program extends the MM functionality, or vice versa. - These implementation methods range from completely monolithic to linking libraries through custom interfaces, to general interfaces between independent programs, but most QM/MM implementations adopt the first two strategies. - These methods often lead to code duplication and high maintenance costs, and are difficult to adapt to new hardware architectures. 3. **Challenges of high performance and flexibility**: - Although the loosely - coupled multi - scale framework provides flexibility, it may be less efficient in terms of data exchange, especially in the case of file communication. - Tightly - coupled methods are efficient but lack flexibility and are difficult to extend to other programs. ### Solutions - **Design of the MiMiC framework**: - Adopt the loosely - coupled Multiple Program Multiple Data (MPMD) paradigm to achieve efficient data exchange through the client - server model. - Develop the MiMiC Communication Library (MCL), which provides a simple API to support efficient network communication while minimizing interference with the parallelization of external programs. - Through modular design, MiMiC can be easily extended to different subsystems and interaction types, avoiding code duplication and reducing maintenance costs. - **Performance optimization**: - High performance is achieved by avoiding repeated startup and shutdown of external programs and keeping their parallelization and execution methods close to the original state. - Support hybrid MPI distributed memory and OpenMP shared memory parallelization strategies, which are suitable for multiple hardware architectures. - **Application examples**: - Electrostatic embedding QM/MM scheme for efficient parallel simulation of large biomolecular systems. - Polarization - embedding QM/MM scheme to further improve the accuracy of the simulation. - Multi - time - step (MTS) QM/MM MD to optimize the use of computational resources. ### Summary The MiMiC framework aims to connect multiple external programs in a loosely - coupled manner to achieve efficient and flexible multi - scale molecular dynamics simulations. It solves the limitations of existing methods in terms of code duplication, maintenance costs, and performance, and provides strong support for future high - performance computing (HPC) architectures.