Computational Quality of Service for Scientific CCA Applications: Composition, Substitution, and Reconfiguration
|Title||Computational Quality of Service for Scientific CCA Applications: Composition, Substitution, and Reconfiguration|
|Year of Publication||2006|
|Authors||McInnes, LCurfman, Ray, J, Armstrong, R, Dahlgren, T, Malony, AD, Norris, B, Shende, S, Kenny, JP, Steensland, J|
Component-based design can help manage the complexity of high-performance scientific simulations, where it has become increasingly clear that no single research group can effectively develop, select, or tune all of the components in a given application and that no single tool, solver, or solution strategy can seamlessly span the entire spectrum efficiently. Component approaches augment the benefits of object-oriented design with programming language interoperability, common interfaces, and dynamic composability. Our work addresses the challenge of how to compose, substitute, and reconfigure components dynamically during the execution of a scientific application. The goal is to make suitable compromises among performance, accuracy, mathematical consistency, and reliability when choosing among available component implementations and parameters. As motivated by high-performance simulations in combustion, quantum chemistry, and accelerator modeling, this paper discusses ideas on computational quality of service (CQoS) -- the automatic selection and configuration of components to suit a particular computational purpose. We discuss the synergy between component-based software design and CQoS, with emphasis on features of the Common Component Architecture that provide the foundation for this work. We introduce the design of our CQoS software, which consists of tools for measurement, analysis, and control infrastructure, and we discuss directions of future work.