High-Scalability Parallelization of a Molecular Modeling Application: Performance and Productivity Comparison Between OpenMP and MPI Implementations
- 61 Downloads
Important components of molecular modeling applications are estimation and minimization of the internal energy of a molecule. For macromolecules such as proteins and amino acids, energy estimation is performed using empirical equations known as force fields. Over the past several decades, much effort has been directed towards improving the accuracy of these equations, and the resulting increased accuracy has come at the expense of greater computational complexity. For example, the interactions between a protein and surrounding water molecules have been modeled with improved accuracy using the generalized Born solvation model, which increases the computational complexity to O (n 3). Fortunately, many force-field calculations are amenable to parallel execution. This paper describes the steps that were required to transform the Born calculation from a serial program into a parallel program suitable for parallel execution in both the OpenMP and MPI environments. Measurements of the parallel performance on a symmetric multiprocessor reveal that the Born calculation scales well for up to 144 processors. In some cases the OpenMP implementation scales better than the MPI implementation, but in other cases the MPI implementation scales better than the OpenMP implementation. However, in all cases the OpenMP implementation performs better than the MPI implementation, and requires less programming effort as well.
KeywordsParallel programming OpenMP MPI Molecular modeling
Unable to display preview. Download preview PDF.
- 1.Amdahl, G.M.: Validity of the single-processor approach to achieving large scale computing capabilities. In: AFIPS Conference Proceedings, AFIPS Press, pp. 483–485. Reston, VA (1967)Google Scholar
- 2.Armstrong, B., Kim, S.W., Eigenmann, R.: Quantifying differences between OpenMP and MPI using a large-scale application suite. In: LNCS 1940: ISHPC International Workshop on OpenMP: Experiences and Implementations (WOMPEI 2000). Springer-Verlag, Berlin Heidelberg (2000)Google Scholar
- 5.Berkert,U., Allinger, N.: Molecular mechanics. ACS Monograph 177, American Chemical Society, (1982)Google Scholar
- 6.Blackford, L., Choi, J., Cleary, A., D’Azevedo, E., Demmel, J., Dhillon, I., Dongara, J., Hammarling, S., Henry, G., Petitet, A., Stanley, K., Walker, D., Whaley, R.C.: Scalapack Users’ Guide. Society for Industrial and Applied Math (1977)Google Scholar
- 8.Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J.: Parallel Programming in OpenMP. Morgan Kaufmann (2000)Google Scholar
- 10.Garg, R.P., Sharapov, I.: Techniques for optimizing applications: high performance computing. Prentice Hall, PTR (2001)Google Scholar
- 11.Gropp, W., Huss-Lederman, S., Lumsdaine, A., Lusk, E., Nitzberg, B. Saphir, W., Snir, M.: MPI: the complete reference, vol. 2, The MPI Extensions. MIT Press, Cambridge, MA (1998)Google Scholar
- 13.Jin, H., Frumkin, M., Yan, J.: The OpenMP implementation of the NAS parallel benchmarks and its performance. NASA Ames Research Center, editor, Technical Report NAS-99-01 (1999)Google Scholar
- 14.Krawezik, G., Cappello, F.: Performance comparison of MPI and three OpenMP programming styles on shared memory multiprocessors. In: SPAA 2003: Proceedings of the Fifteenth Annual ACM Symposium on Parallel Algorithms, pp. 118–127. ACM, New York, NY (2003)Google Scholar
- 16.Macke, T.: NAB, a language for molecular manipulation. PhD Thesis, the Scripps Research Institute (1996)Google Scholar
- 18.Srinivasan J., Trevathan M., Beroza P. and Case D. (1999). Application of a pairwise generalized born model to proteins and nucleic acids: inclusion of salt effects. Theor. Chem. Acc. 101: 426–434 Google Scholar