High-Performance Parallel and Distributed Scientific Computing with the Common Component Architecture
In the scientific computing community, parallel and, increasingly, distributed computing are both important paradigms for the development of large-scale simulation software. The ability to bridge seamlessly between these two paradigms is a valuable characteristic for programming models in this general domain. The Common Component Architecture (CCA) is a software component model specially designed for the needs of the scientific community, including support for both high-performance parallel and distributed computing.
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 is being applied within an increasing range of disciplines, including combustion research, mesoscale storm prediction, global climate simulation, and computational chemistry, as well as connecting to instruments and sensors.
In this talk, I will introduce the basic concepts behind component-based software engineering in general, and the common component architecture in particular. I will emphasize the mechanisms by which the CCA provides for both high-performance parallel computing and distributed computing, and how it integrates with several popular distributed computing environments. Finally, I will offer examples of several applications using the CCA in parallel and distributed contexts.