Performance enhancement of Ionic structure in liquids confined by dielectric interfaces ( A nanoconfinement framework )

Computationally intensive simulations that use complex molecular dynamics (MD) concepts to propagate the ions are required to determine the ionic structure of nanoparticles confined between surfaces. Nanoconfinement simulation framework designed by Jadhao et al. [1] is one such simulation framework allowing worldwide researchers to observe the density profiles and behavior of nanoparticles. This research presents a hybrid implementation that utilizes MPI for distributed memory parallelism and OpenMP for shared memory parallelism for performance enhancement of the nanoconfinement framework. Several memory optimization techniques were adopted to reduce the computational time of the framework. Implementation details of MPI, OpenMP, and Hybrid MPI/OpenMP parallelization of the nanoconfinement simulation framework are provided. Using the hybrid approach and memory optimization techniques, computation time was reduced from 12 hours to 13.25 mins yielding a maximum speedup of 54.34. I. PROBLEM STATEMENT The ionic structure of nanoparticles confined between biological and synthetic surfaces determines the outcome of many synthetic and biological systems such as colloidal dispersions, emulsions, hydrogels, DNA, cell membranes and proteins [1]. These nanoparticles can be considered as salt ions in most of the biological systems [1]. Understanding the behavior of ionic structures in such systems are crucial for the enhancement of many industrial applications such as double-layer supercapacitors for energy storage and advance formulation science for protein-based pharmaceutical preparations and cellular therapies [1, 2]. Figure 1 illustrates an ionic structure in liquids confined by dielectric interfaces. Jadhao et al. [1] has created a simulation framework (Nano confinement framework) and a science gateway (Nano confinement gateway) to experiment and investigate a different kinds of ionic structures and environmental attributes including ion valency and salt concentration using standard and advanced molecular dynamics (MD) methods for nonpolarizable surfaces and dielectric interfaces respectively. This framework is written in C++ programming language by adopting the sequential programming model. These standard MD simulations are computationally intensive, and it takes nearly 12 hours to run a simulation for one million steps (1 Nano second of real time MD) with 422 nanoparticles using standard set of parameters to get the density profile of the ionic structure [1, 3]. Currently, the framework (the science gateway) is being used by different individuals all over the word for educational purposes for fewer ions and less number of steps. Hence, it is necessary that the simulation time be reduced in order to enable particle dynamics researchers to carry out advance MD simulations as well as to allow more particle dynamics researchers to engage with the Nano confinement framework. Fig. 1. An Example for Ions (positive-blue and negative-green) distribution in liquid confined by two dielectric interfaces In this research, the possibilities of performance optimization of existing Nano confinement framework is studied using shared memory parallelization, distributed memory parallelization and the hybrid approach using both shared memory and distributed memory. II. LITERATURE REVIEW The techniques used for parallelizing different kind of simulation frameworks or applications could be broadly categorized into three approaches; shared memory model (OpenMP), distributed memory model (MPI) and hybrid model (OpenMP and MPI) [4, 5]. OpenMP, MPI, and hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes, have been in use for many years [6, 7, 8, 9, 10]. This study uses these techniques, and hence, they are discussed in this section. Rabenseifner et al. [6] have investigated a comprehensive evaluation of different performance improvement factors and degradation factors in high-performance computing (HPC) with respect to a modern hierarchical hardware design. Due to the reduced communication and memory consumption, or improved load balance evident in hybrid (MPI plus OpenMP), this research has employed pure Message Passing Interface (MPI), pure OpenMP and hybrid (MPI plus OpenMP) to pinpoint the cases where a hybrid programming model could be the most effective solution. They claim that parallel programming model should consider combining distributed memory parallelization (on the node interconnect) with shared memory parallelization (inside each node) [6]. Recent research done by Mahinthakumar et al. [7, 8] have applied parallel programming approach for an implicit finiteelement methodology in groundwater transport simulations using hybrid MPI-OpenMP programming model. They have used a domain decomposition strategy to decompose their original program to enable parallelization for distributed memory model using MPI [7, 8]. Researchers have implemented straightforward loop-level parallelism with several loop modifications using OpenMP directives inside each MPI process to enable shared memory model as they tested their simulations in symmetric multiprocessing (SMP) nodes [7]. Parallel performance results were compared using four different architectures and researchers claim that the hybrid approach outperformed both pure MPI and pure OpenMP performance by giving promising results when using it with SMP cluster architectures [7]. Tang et al. [9] have also used OpenMP, MPI hybrid approach for groundwater model calibration using multi-core computers. According to the researchers, the computational model for groundwater calibration utilizes between one hundred to one thousand forward solutions, each entailing many nonlinear partial differential equations, thereby leaving a computationally intensive problem to solve [9]. First, they profiled the sequential program using GPROF and identified a single parallelizable loop account for over 97% of the total computational time. Researchers have adopted the OpenMP programming model for the identified parallelizable loop and the MPI programming model for parallelizing the Jacobian calculation and lambda search in their ground water calibration algorithm [9]. Reported results indicate that the calibration time was reduced from weeks to a few hours by using this hybrid approach in 100200 compute cores [9]. A research done by Mininni et al. [10] focused on performance improvements of Pseudospectral computations for fluid turbulence using MPI for distributed memory parallelism and OpenMP for shared memory parallelism. Their approach focused on achieving exceptionally high Reynolds numbers in pseudospectral computations of fluid turbulence in massively parallel processing systems [10]. Researchers have used domain decomposition techniques to achieve numerical discretizations of the problem to implement the hybrid parallel programming approach on top of the original sequential program. They claim that the hybrid methodology provides good scalability up to 20,000 compute nodes with a maximum efficiency of 89%, and a mean of 79% [10]. Furthermore, they have shown that the cost of communication increased with the number of MPI processes, and the hybrid scheme allowed to reduce the number of MPI processes by utilizing OpenMP programming model. Researchers further claim that for a given workload per MPI task, the hybrid scheme would clearly outperform the pure MPI version in terms of speed up and computation time [10]. As described above, most of the parallel programming techniques applied to simulations and science applications are focused on pure MPI, pure OpenMP and hybrid OpenMpMPI programming models. Moreover, hybrid techniques have given comparable, or even better results than pure shared memory(OpenMP) or pure distributed memory (MPI) approaches in most cases [7, 8, 10]. There are also many researches which are focused on performance enhancement of different simulations. Based on the review of the literature, there has not been a single study that has focused on performance enhancement of simulation frameworks for ionic structure in liquids confined by dielectric interfaces. Due to these facts, this research will also employ the three approaches mentioned above in order to achieve performance enhancement of the Nano confinement framework. III. APPLICATIONS OF NANOCONFINEMENT