skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A Component Architecture for High-Performance Scientific Computing

Abstract

The Common Component Architecture (CCA) provides a means for software developers to manage the complexity of large-scale scientific simulations and to move toward a plug-and-play environment for high-performance computing. In the scientific computing context, component models also promote collaboration using independently developed software, thereby allowing particular individuals or groups to focus on the aspects of greatest interest to them. The CCA supports parallel and distributed computing as well as local high-performance connections between components in a language-independent manner. The design places minimal requirements on components and thus facilitates the integration of existing code into the CCA environment. The CCA model imposes minimal overhead to minimize the impact on application performance. The focus on high performance distinguishes the CCA from most other component models. The CCA is being applied within an increasing range of disciplines, including combustion research, global climate simulation, and computational chemistry.

Authors:
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; more »; ; ; ; ; ; « less
Publication Date:
Research Org.:
Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
887352
Report Number(s):
PNNL-SA-40589
KJ0101030; TRN: US200618%%3
DOE Contract Number:
AC05-76RL01830
Resource Type:
Journal Article
Resource Relation:
Journal Name: International Journal of High Performance Computing Applications; Journal Volume: 20; Journal Issue: 2
Country of Publication:
United States
Language:
English
Subject:
99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; COMPUTER ARCHITECTURE; DESIGN; PERFORMANCE; USES

Citation Formats

Bernholdt, David E, Allan, Benjamin A, Armstrong, Robert C, Bertrand, Felipe, Chiu, Kenneth, Dahlgren, Tamara L, Damevski, Kostadin, Elwasif, Wael R, Epperly, Thomas G, Govindaraju, Madhusudhan, Katz, Daniel S, Kohl, James A, Krishnan, Manoj Kumar, Kumfert, Gary K, Larson, J Walter, Lefantzi, Sophia, Lewis, Michael J, Malony, Allen D, McInnes, Lois C, Nieplocha, Jarek, Norris, Boyana, Parker, Steven G, Ray, Jaideep, Shende, Sameer, Windus, Theresa L, and Zhou, Shujia. A Component Architecture for High-Performance Scientific Computing. United States: N. p., 2006. Web.
Bernholdt, David E, Allan, Benjamin A, Armstrong, Robert C, Bertrand, Felipe, Chiu, Kenneth, Dahlgren, Tamara L, Damevski, Kostadin, Elwasif, Wael R, Epperly, Thomas G, Govindaraju, Madhusudhan, Katz, Daniel S, Kohl, James A, Krishnan, Manoj Kumar, Kumfert, Gary K, Larson, J Walter, Lefantzi, Sophia, Lewis, Michael J, Malony, Allen D, McInnes, Lois C, Nieplocha, Jarek, Norris, Boyana, Parker, Steven G, Ray, Jaideep, Shende, Sameer, Windus, Theresa L, & Zhou, Shujia. A Component Architecture for High-Performance Scientific Computing. United States.
Bernholdt, David E, Allan, Benjamin A, Armstrong, Robert C, Bertrand, Felipe, Chiu, Kenneth, Dahlgren, Tamara L, Damevski, Kostadin, Elwasif, Wael R, Epperly, Thomas G, Govindaraju, Madhusudhan, Katz, Daniel S, Kohl, James A, Krishnan, Manoj Kumar, Kumfert, Gary K, Larson, J Walter, Lefantzi, Sophia, Lewis, Michael J, Malony, Allen D, McInnes, Lois C, Nieplocha, Jarek, Norris, Boyana, Parker, Steven G, Ray, Jaideep, Shende, Sameer, Windus, Theresa L, and Zhou, Shujia. 2006. "A Component Architecture for High-Performance Scientific Computing". United States. doi:.
@article{osti_887352,
title = {A Component Architecture for High-Performance Scientific Computing},
author = {Bernholdt, David E and Allan, Benjamin A and Armstrong, Robert C and Bertrand, Felipe and Chiu, Kenneth and Dahlgren, Tamara L and Damevski, Kostadin and Elwasif, Wael R and Epperly, Thomas G and Govindaraju, Madhusudhan and Katz, Daniel S and Kohl, James A and Krishnan, Manoj Kumar and Kumfert, Gary K and Larson, J Walter and Lefantzi, Sophia and Lewis, Michael J and Malony, Allen D and McInnes, Lois C and Nieplocha, Jarek and Norris, Boyana and Parker, Steven G and Ray, Jaideep and Shende, Sameer and Windus, Theresa L and Zhou, Shujia},
abstractNote = {The Common Component Architecture (CCA) provides a means for software developers to manage the complexity of large-scale scientific simulations and to move toward a plug-and-play environment for high-performance computing. In the scientific computing context, component models also promote collaboration using independently developed software, thereby allowing particular individuals or groups to focus on the aspects of greatest interest to them. The CCA supports parallel and distributed computing as well as local high-performance connections between components in a language-independent manner. The design places minimal requirements on components and thus facilitates the integration of existing code into the CCA environment. The CCA model imposes minimal overhead to minimize the impact on application performance. The focus on high performance distinguishes the CCA from most other component models. The CCA is being applied within an increasing range of disciplines, including combustion research, global climate simulation, and computational chemistry.},
doi = {},
journal = {International Journal of High Performance Computing Applications},
number = 2,
volume = 20,
place = {United States},
year = 2006,
month = 7
}
  • The Common Component Architecture (CCA) provides a means for software developers to manage the complexity of large-scale scientific simulations and to move toward a plug-and-play environment for high-performance computing. In the scientific computing context, component models also promote collaboration using independently developed software, thereby allowing particular individuals or groups to focus on the aspects of greatest interest to them. The CCA supports parallel and distributed computing as well as local high-performance connections between components in a language-independent manner. The design places minimal requirements on components and thus facilitates the integration of existing code into the CCA environment. The CCA modelmore » imposes minimal overhead to minimize the impact on application performance. The focus on high performance distinguishes the CCA from most other component models. The CCA is being applied within an increasing range of disciplines, including combustion research, global climate simulation, and computational chemistry.« less
  • This paper describes work in progress to develop a standard for interoperability among high-performance scientific components. This research stems from growing recognition that the scientific community must better manage the complexity of multidisciplinary simulations and better address scalable performance issues on parallel and distributed architectures. Driving forces are the need for fast connections among components that perform numerically intensive work and parallel collective interactions among components that use multiple processes or threads. This paper focuses on the areas we believe are most crucial for such interactions, namely an interface definition language that supports scientific abstractions for specifying component interfaces andmore » a ports connection model for specifying component interactions.« less
  • Recent advances in both computational hardware and multidisciplinary science have given rise to an unprecedented level of complexity in scientific simulation software. This paper describes an ongoing grass roots effort aimed at addressing complexity in high-performance computing through the use of Component-Based Software Engineering (CBSE). Highlights of the benefits and accomplishments of the Common Component Architecture (CCA) Forum and SciDAC ISIC are given, followed by an illustrative example of how the CCA has been applied to drive scientific discovery in quantum chemistry. Thrusts for future research are also described briefly.
  • Until recently, performance gains in processors were achieved largely by improvements in clock speeds and instruction level parallelism. Thus, applications could obtain performance increases with relatively minor changes by upgrading to the latest generation of computing hardware. Currently, however, processor performance improvements are realized by using multicore technology and hardware support for multiple threads within each core, and taking full advantage of this technology to improve the performance of applications requires exposure of extreme levels of software parallelism. We will here discuss the architecture of parallel computers constructed from many multicore chips as well as techniques for managing the complexitymore » of programming such computers, including the hybrid message-passing/multi-threading programming model. We will illustrate these ideas with a hybrid distributed memory matrix multiply and a quantum chemistry algorithm for energy computation using Møller–Plesset perturbation theory.« less