ABSTRACT
This paper describes recent investigations into improving the quality and performance of component-based scientific software. Our approach merges work on Computational Quality of Service (CQoS) with enforceable semantic annotations, in the form of interface contracts, to facilitate the adaptivity of component-based applications and improve the usability of CQoS components. Component interfaces, as advanced by the Common Component Architecture, enable easy access to complex software packages for high-performance scientific computing. However, many challenges remain in ensuring that components are configured and used correctly in long-running simulations. Interface contracts have proven to be helpful for ensuring correct usage. Additional work on CQoS exploits component automation, including capabilities for plugging and unplugging components during execution, to help application scientists choose among alternative algorithmic implementations and parameters, thereby creating new opportunities to enhance the performance of CCA applications. This paper describes the integration of CQoS capabilities and interface contracts and presents two application use cases involving nonlinear solver components.
- B. A. Allan et al. A component architecture for high-performance scientific computing. International Journal of High-Performance Computing Applications, pages 215--229, 2006. Google ScholarDigital Library
- T. Coffey, C. Kelley, and D. Keyes. Pseudo-transient continuation and differential algebraic equations. SIAM J. Sci. Comp, 25:553--569, 2003. Google ScholarDigital Library
- D. Keyes (PI). Towards Optimal Petascale Simulations (TOPS) Center. http://www.scidac.gov/math/TOPS.html, 2009.Google Scholar
- T. L. Dahlgren. Performance-Driven Interface Contract Enforcement for Scientific Components. PhD thesis, University of California, Davis, One Shields Avenue, Davis, CA, 95616, 2008. Google ScholarDigital Library
- T. L. Dahlgren and P. T. Devanbu. Improving scientific software component quality through assertions. In Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, pages 73--77, St. Louis, Missouri, May 2005. Google ScholarDigital Library
- K. A. Huck, A. D. Malony, S. Shende, and A. Morris. Scalable, automated performance analysis with TAU and PerfExplorer. In Parallel Computing (ParCo), Aachen, Germany, 2007.Google Scholar
- L. C. McInnes et al. Parallel PDE-based simulations using the Common Component Architecture. In Numerical Solution of Partial Differential Equations on Parallel Computers, pages 327--384. Springer, 2006. Also available as ANL/MCS-P1179-0704 via http://www.mcs.anl.gov/cca/publications/p1179.pdf.Google ScholarCross Ref
- Lawrence Livermore National Laboratory. Babel. http://www.llnl.gov/CASC/components/babel.html.Google Scholar
- L. Li, J. P. Kenny, M. Wu, K. Huck, A. Gaenko, M. Gordon, C. Janssen, L. McInnes, H. Mori, H. Netzloff, B. Norris, and T. Windus. Adaptive application composition in quantum chemistry. In Proceedings of the 5th International Conference on the Quality of Software Architectures (QoSA 2009), 2009. Google ScholarDigital Library
- L. Li, B. Norris, H. Johansson, L. McInnes, and J. Ray. Component infrastructure for managing performance data and runtime adaptation of parallel applications. In Proceedings of PARA08 (9th International Workshop on State-of-the-Art in Scientific and Parallel Computing), 2008.Google Scholar
- B. Norris, J. Ray, R. Armstrong, L. C. McInnes, D. E. Bernholdt, W. R. Elwasif, A. D. Malony, and S. Shende. Computational quality of service for scientific components. In Proceedings of International Symposium on Component-Based Software Engineering (CBSE7), Edinburgh, Scotland, 2004.Google ScholarCross Ref
- U. S. Dept. of Energy. SciDAC Initiative homepage. http://www.osti.gov/scidac/, 2006.Google Scholar
- I. H. Witten and E. Frank. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, Second edition, 2005. Google ScholarDigital Library
Index Terms
- Interface contract enforcement for improvement of computational quality of service (CQoS) for scientific components
Recommendations
Toward multi-language, multi-component interface contract enforcement
CBHPC '09: Proceedings of the 2009 Workshop on Component-Based High Performance ComputingThis paper describes current work aimed at helping scientists gain confidence in software built from emerging component technologies through the automated enforcement of interface contracts. These contracts consist of assertions required to hold before ...
Performance-driven interface contract enforcement for scientific components
CBSE'07: Proceedings of the 10th international conference on Component-based software engineeringSeveral performance-driven approaches to selectively enforce interface contracts for scientific components are investigated. The goal is to facilitate debugging deployed applications built from plug-and-play components while keeping the cost of ...
Making Components Contract Aware
Components have long promised to encapsulate data and programs into a box that operates predictably without requiring that users know the specifics of how it does so. Many advocates have predicted that components will bring about widespread software ...
Comments