Abstract
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.
Similar content being viewed by others
References
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)
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)
Bashford D. and Case D. (2000). Generalized born models of macromolecular solvation effects. Ann. Rev. Phys. Chem 51: 129
Bennett M., Albert R., Jez J., Ma H., Penning T. and Lewis M. (1997). Steroid recognition and regulation of hormone action: structure of testosterone and nadp+ bound to 3a-hydroxysteroid/dihydrodiol dehydrogenase. Structure 5: 799–812
Berkert,U., Allinger, N.: Molecular mechanics. ACS Monograph 177, American Chemical Society, (1982)
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)
Brown R. and Case D. (2006). Second derivatives in generalized born theory. J. Comput. Chem 27: 1662–1675
Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J.: Parallel Programming in OpenMP. Morgan Kaufmann (2000)
Feig M., Im W. and Brooks C. (2004). Implicit solvation based on generalized born theory in different dielectric environments. J. Chem. Phys. 120: 903–911
Garg, R.P., Sharapov, I.: Techniques for optimizing applications: high performance computing. Prentice Hall, PTR (2001)
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)
Hawkins G., Cramer C. and Truhlar D. (1996). Parametrized models of aqueous free energies of solvation based on pairwise descreening of solute atomic charges from a dielectric medium. J. Phys. Chem 100: 19824–19839
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)
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)
Luecke G.R. and Lin W.H. (2001). Scalability and performance of OpenMP and MPI on a 128-processor SGI Origin 2000. Concurr. Comp. Pract. Ex. 13(10): 905–928
Macke, T.: NAB, a language for molecular manipulation. PhD Thesis, the Scripps Research Institute (1996)
Schlichting I., Jung C. and Schulze H. (1997). Crystal strucure of cytochrome p-450cam complexed with the (1s)-camphor enantiomer. FEBS Lett. 415: 253–257
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
Still W., Tempczyk A., Hawley R. and Hendrickson T. (1990). Semianalytical treatment of solvation for molecular mechanics and dynamics. J. Am. Chem. Soc 112: 6127–6129
Wang M., Roberts D., Paschke R., Shea T., Masters B. and Kim J. (1997). Three-dimensional structure of nadph-cytochrome p450 reductase: prototype for fmn- and fad-containing enzymes. Proc. Natl. Acad. Sci. USA 94: 8411–8416
Weiner P. and Kollman P. (1981). AMBER: Assisted model building with energy refinement. a general program for modeling molecules and their interactions. J. Comp. Chem 2: 287–303
Author information
Authors and Affiliations
Corresponding author
Additional information
Trademark Legend Sun, Sun Microsystems, SPARC, UltraSPARC, Sun Fire, Sun Performance Library and Sun HPC Cluster Tools are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
Rights and permissions
About this article
Cite this article
Brown, R., Sharapov, I. High-Scalability Parallelization of a Molecular Modeling Application: Performance and Productivity Comparison Between OpenMP and MPI Implementations. Int J Parallel Prog 35, 441–458 (2007). https://doi.org/10.1007/s10766-007-0057-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10766-007-0057-y