Adaptive Application Composition in Quantum Chemistry

  • Li Li
  • Joseph P. Kenny
  • Meng-Shiou Wu
  • Kevin Huck
  • Alexander Gaenko
  • Mark S. Gordon
  • Curtis L. Janssen
  • Lois Curfman McInnes
  • Hirotoshi Mori
  • Heather M. Netzloff
  • Boyana Norris
  • Theresa L. Windus
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5581)


Component interfaces, as advanced by the Common Component Architecture (CCA), enable easy access to complex software packages for high-performance scientific computing. A recent focus has been incorporating support for computational quality of service (CQoS), or the automatic composition, substitution, and dynamic reconfiguration of component applications. Several leading quantum chemistry packages have achieved interoperability by adopting CCA components. Running these computations on diverse computing platforms requires selection among many algorithmic and hardware configuration parameters; typical educated guesses or trial and error can result in unexpectedly low performance. Motivated by the need for faster runtimes and increased productivity for chemists, we present a flexible CQoS approach for quantum chemistry that uses a generic CQoS database component to create a training database with timing results and metadata for a range of calculations. The database then interacts with a chemistry CQoS component and other infrastructure to facilitate adaptive application composition for new calculations.


Quantum Chemistry Performance Data Parallel Application Node Count Component Interface 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Armstrong, R. et al.: Common Component Architecture (CCA) Forum,
  2. 2.
    Allan, B.A., Armstrong, R., Bernholdt, D.E., Bertrand, F., Chiu, K., Dahlgren, T.L., Damevski, K., Elwasif, W.R., Epperly, T.G.W., Govindaraju, M., Katz, D.S., Kohl, J.A., Krishnan, M., Kumfert, G., Larson, J.W., Lefantzi, S., Lewis, M.J., Malony, A.D., McInnes, L.C., Nieplocha, J., Norris, B., Parker, S.G., Ray, J., Shende, S., Windus, T.L., Zhou, S.: A component architecture for high-performance scientific computing. Intl. J. High-Perf. Computing Appl. 20(2), 163–202 (2006)CrossRefGoogle Scholar
  3. 3.
    McInnes, L.C., Ray, J., Armstrong, R., Dahlgren, T.L., Malony, A., Norris, B., Shende, S., Kenny, J.P., Steensland, J.: Computational quality of service for scientific CCA applications: Composition, substitution, and reconfiguration. Technical Report ANL/MCS-P1326-0206, Argonne National Laboratory (Feburary 2006)Google Scholar
  4. 4.
    Norris, B., Ray, J., Armstrong, R., McInnes, L.C., Bernholdt, D.E., Elwasif, W.R., Malony, A.D., Shende, S.: Computational quality of service for scientific components. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 264–271. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Gordon, M.(PI): Chemistry Framework using the CCA,
  6. 6.
    Schmidt, M.W., Baldridge, K.K., Boatz, J.A., Elbert, S.T., Gordon, M.S., Jensen, J.H., Koseki, S., Matsunaga, N., Nguyen, K.A., Su, S.J., Windus, T.L., Dupuis, M., Montgomerya, J.A.: General atomic and molecular electronic structure system. J. Computational Chemistry 14, 1347–1363 (1993)CrossRefGoogle Scholar
  7. 7.
    Janssen, C.L., Nielsen, I.M.B., Colvin, M.E.: Encyclopedia of computational chemistry. In: Schleyer, P.V.R., Allinger, N.L., Clark, T., Gasteiger, J., Kollman, P.A., Schaefer III, H.F., Scheiner, P.R. (eds.) Encyclopedia of Computational Chemistry. John Wiley & Sons, Chichester (1998)Google Scholar
  8. 8.
    Kendall, R.A., Apra, E., Bernholdt, D.E., Bylaska, E.J., Dupuis, M., Fann, G.I., Harrison, R.J., Ju, J.L., Nichols, J.A., Nieplocha, J., Straatsma, T.P., Windus, T.L., Wong, A.T.: High performance computational chemistry: An overview of NWChem, a distributed parallel application. Comput. Phys. Commun. 128, 260–270 (2000)CrossRefzbMATHGoogle Scholar
  9. 9.
    Dongarra, J., Eijkhout, V.: Self-adapting numerical software for next generation applications. Int. J. High Performance Computing Applications 17, 125–131 (2003); also LAPACK Working Note 157, ICL-UT-02-07CrossRefGoogle Scholar
  10. 10.
    Whaley, R.C., Petitet, A.: Minimizing development and maintenance costs in supporting persistently optimized BLAS. Software: Practice and Experience 35(2), 101–121 (2005)Google Scholar
  11. 11.
    Liu, H., Parashar, M.: Enabling self-management of component based high-performance scientific applications. In: Proc. 14th IEEE Int. Symp. on High Performance Distributed Computing. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  12. 12.
    Tapus, C., Chung, I.H., Hollingsworth, J.K.: Active Harmony: Towards automated performance tuning. In: Proc. of SC 2002 (2002)Google Scholar
  13. 13.
    Vetter, J.S., Worley, P.H.: Asserting performance expectations. In: Proc. SC 2002 (2002)Google Scholar
  14. 14.
    Bramley, R., Gannon, D., Stuckey, T., Villacis, J., Balasubramanian, J., Akman, E., Berg, F., Diwan, S., Govindaraju, M.: The Linear System Analyzer. In: Enabling Technologies for Computational Science. Kluwer, Dordrecht (2000)Google Scholar
  15. 15.
    Zhang, K., Damevski, K., Venkatachalapathy, V., Parker, S.: SCIRun2: A CCA framework for high performance computing. In: Proc. 9th Int. Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2004), Santa Fe, NM. IEEE Press, Los Alamitos (2004)Google Scholar
  16. 16.
    Houstis, E.N., Catlin, A.C., Rice, J.R., Verykios, V.S., Ramakrishnan, N., Houstis, C.E.: A knowledge/database system for managing performance data and recommending scientific software. ACM Transactions on Mathematical Software 26(2), 227–253 (2000)CrossRefzbMATHGoogle Scholar
  17. 17.
    McCracken, M.O., Snavely, A., Malony, A.: Performance modeling for dynamic algorithm selection. In: Sloot, P.M.A., Abramson, D., Bogdanov, A.V., Gorbachev, Y.E., Dongarra, J., Zomaya, A.Y. (eds.) ICCS 2003. LNCS, vol. 2660, pp. 749–758. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  18. 18.
    Vuduc, R., Demmel, J., Bilmes, J.: Statistical models for empirical search-based performance tuning. Int. J. High Performance Computing Applications 18(1), 65–94 (2004)CrossRefzbMATHGoogle Scholar
  19. 19.
    Cortellessa, V., Crnkovic, I., Marinelli, F., Potena, P.: Experimenting the automated selection of COTS components based on cost and system requirements. J. Universal Computer Science 14(8), 1228–1256 (2008)Google Scholar
  20. 20.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. J. Systems and Software 82(1), 3–22 (2009)CrossRefGoogle Scholar
  21. 21.
    Kappler, T., Koziolek, H., Krogmann, K., Reussner, R.: Towards automatic construction of reusable prediction models for component-based performance engineering. In: Proc. Software Engineering (Feburary 2008)Google Scholar
  22. 22.
    Shende, S., Malony, A.: The TAU parallel performance system. Int. J. High-Perf. Computing Appl., ACTS Collection special issue 20, 287–331 (Summer 2006)CrossRefGoogle Scholar
  23. 23.
    Taylor, V., Wu, X., Stevens, R.: Prophesy: An infrastructure for performance analysis and modeling of parallel and grid applications. SIGMETRICS Perform. Eval. Rev. 30(4), 13–18 (2003)CrossRefGoogle Scholar
  24. 24.
    de Rose, L.A., Reed, D.A.: SvPablo: A multi-language architecture-independent performance analysis system. In: ICPP 1999: Proc. 1999 International Conference on Parallel Processing. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  25. 25.
    Jorba, J., Margalef, T., Luque, E.: Performance analysis of parallel applications with KappaPI2. In: Proc. Parallel Computing: Current and Future Issues of High-End Computing, pp. 155–162 (2006)Google Scholar
  26. 26.
    Voss, M.J., Eigemann, R.: High-level adaptive program optimization with adapt. ACM SIGPLAN Notices 36, 93–102 (2001)CrossRefGoogle Scholar
  27. 27.
    Song, F., Wolf, F., Bhatia, N., Dongarra, J., Moore, S.: An algebra for cross-experiment performance analysis. In: Proc. 2004 International Conference on Parallel Processing (ICPP 2004), Montreal, Quebec, Canada, pp. 63–72 (2004)Google Scholar
  28. 28.
    Huck, K.A., Malony, A.D., Shende, S., Morris, A.: Scalable, automated performance analysis with TAU and PerfExplorer. In: Parallel Computing (2007)Google Scholar
  29. 29.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. ACM Press, New York (1999)Google Scholar
  30. 30.
    Kenny, J.P., Benson, S.J., Alexeev, Y., Sarich, J., Janssen, C.L., McInnes, L.C., Krishnan, M., Nieplocha, J., Jurrus, E., Fahlstrom, C., Windus, T.L.: Component-based integration of chemistry and optimization software. J. Computational Chemistry 25(14), 1717–1725 (2004)CrossRefGoogle Scholar
  31. 31.
    Peng, F., Wu, M.S., Sosonkina, M., Bentz, J., Windus, T.L., Gordon, M.S., Kenny, J.P., Janssen, C.L.: Tackling component interoperability in quantum chemistry software. In: Workshop on Component and Framework Technology in High-Performance and Scientific Computing, in conjunction with OOPLSA (2007)Google Scholar
  32. 32.
    Wu, M.S., Bentz, J., Peng, F., Sosonkina, M., Gordon, M.S., Kendall, R.A.: Integrating performance tools with large-scale scientific software. In: The 8th IEEE International Workshop on Parallel and Distributed Scientific and Engineering Computing (PDSEC 2007), in conjunction with 21st International Parallel and Distributed Processing Symposium (IPDPS 2007), Long Beach, California (March 2007)Google Scholar
  33. 33.
    Malony, A., Shende, S., Trebon, N., Ray, J., Armstrong, R., Rasmussen, C., Sottile, M.: Performance technology for parallel and distributed component software. Concurrency and Computation: Practice and Experience 17, 117–141 (2005)CrossRefGoogle Scholar
  34. 34.
    Huck, K.A., Malony, A.D., Bell, R., Morris, A.: Design and implementation of a parallel performance data management framework. In: Proc. 2005 International Conference on Parallel Processing, ICPP 2005, pp. 473–482. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  35. 35.
    Witten, I.H., Frank, E.: Data mining: Practical machine learning tools and techniques (2005),
  36. 36.
    Allan, B., Armstrong, R., Lefantzi, S., Ray, J., Walsh, E., Wolfe, P.: Ccaffeine – a CCA component framework for parallel computing (2003),
  37. 37.
    Møller, C., Plesset, M.S.: Note on an approximation treatment for many-electron systems. Phys. Rev. 46, 618–622 (1934)CrossRefzbMATHGoogle Scholar
  38. 38.
    U. S. Dept. of Energy: SciDAC Initiative homepage (2006),
  39. 39.
    Bernholdt D. (PI): TASCS Center,
  40. 40.
    Lucas, R.(PI): Performance Engineering Research Institute (PERI),

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Li Li
    • 1
  • Joseph P. Kenny
    • 2
  • Meng-Shiou Wu
    • 3
  • Kevin Huck
    • 4
  • Alexander Gaenko
    • 3
  • Mark S. Gordon
    • 3
  • Curtis L. Janssen
    • 2
  • Lois Curfman McInnes
    • 1
  • Hirotoshi Mori
    • 5
  • Heather M. Netzloff
    • 3
  • Boyana Norris
    • 1
  • Theresa L. Windus
    • 3
  1. 1.Argonne National LaboratoryArgonneUSA
  2. 2.Sandia National LaboratoriesLivermoreUSA
  3. 3.Ames LaboratoryAmesUSA
  4. 4.University of OregonEugeneUSA
  5. 5.Ochanomizu UniversityJapan

Personalised recommendations