Abstract
Component- and service-based software engineering approaches have been gaining popularity in high-performance scientific computing, facilitating the creation and management of large multidisciplinary, multideveloper applications, and providing opportunities for improved performance and numerical accuracy. These software engineering approaches enable the development of middleware infrastructure for computational quality of service (CQoS), which provides performance optimizations through dynamic algorithm selection and configuration in a mostly automated fashion. The factors that affect performance are closely tied to a component’s parallel implementation, its management of parallel communication and memory, the algorithms executed, the algorithmic parameters employed, and other operational characteristics. We present the design of a component middleware CQoS architecture for automated composition and adaptation of high-performance componentor service-based applications. We describe its initial implementation and corresponding experimental results for parallel simulations involving time-dependent nonlinear partial differential equations.
Please use the following format when citing this chapter: Norris, B., Bhowmick, S., Kaushik, D., McInnes, L. C., 2007, in IFIP International Federation for Information Processing, Volume 239, Grid-Based Problem Solving Environments, eds. Gaffney, P. W., Pool, J.C.T., (Boston: Springer), pp. 127–149.
Chapter PDF
References
Noriki Amano and Takuo Watanabe. A software model for flexible and safe adaptation of mobile code programs. In Proceedings of the International Workshop on Principles of Software Evolution, pages 57–61, Orlando, FL, May 2002.
W. K. Anderson and D. Bonhaus. An implicit upwind algorithm for computing turbulent flows on unstructured grids. Computers and Fluids, 23(1): 1–21, 1994.
W. K. Anderson, W. D. Gropp, D. K. Kaushik D. E. Keyes, and B. F. Smith. Achieving high sustained performance in an unstructured mesh CFD application. In Proceedings of Supercomputing 1999. IEEE Computer Society, 1999. Gordon Bell Prize Award Paper in Special Category.
R. Armstrong, D. Gannon, A. Geist, K. Keahey, S. Kohn, L. Mclnnes, S. Parker, and B. Smolinski. Toward a Common Component Architecture for highperformance scientific computing. In Proceedings of the Eighth IEEE International Symposium on High Performance Distributed Computing, 1999.
S. Balay, K. Buschelman, W. Gropp, D. Kaushik, M. Knepley, L. Mclnnes, Barry F. Smith, and H. Zhang. PETSc users manual. Technical Report ANL95/11 Revision 2.3.2, Argonne National Laboratory, 2006. http://www.mcs. anl. gov/petsc.
K. Bennett, P. Layzell, D. Budgen, P. Brereton, L. Macaulay, and M. Munro. Service-based software: The future for flexible software. In Proceedings of the 7th Asia-Pacific Software Engineering Conference (APSEG 2000), pages 214–221, 2000.
D. E. Bernholdt, B. A. Allan, R. Armstrong, F. Bertrand, K. Chiu, T. L. Dahlgren, K. Damevski, W. R. Elwasif, T. G. W. Epperly, M. Govindaraju, D. S. Katz, J. A. Kohl, M. Krishnan, G. Kumfert, J. W. Larson, S. Lefantzi, M. J. Lewis, A. D. Malony, L. C. Mclnnes, J. Nieplocha, B. Norris, S. G. Parker, J. Ray, S. Shende, T. L. Windus, and S. Zhou. A component architecture for high-performance scientific computing. Intl. J. High-Perf. Computing Appl., in press, 2006.
Antoine Beugnard, Jean-Marc Jézéquel, Noël Plouzeau, and Damien Watkins. Making components contract aware. IEEE Computer, 32(7): 38–45, July 1999.
S. Bhowmick, V. Eijkhout, Y. Freund, E. Fuentes, and D. Keyes. Application of machine learning to selecting solvers for sparse linear systems, submitted to International Journal of High Performance Computing Applications.
S. Bhowmick, D. Kaushik, L. Mclnnes, B. Norris, and P. Raghavan. Parallel adaptive solvers in compressible PETSc-FUN3D simulations. In Proceedings of the 17th International Conference on Parallel CFD, 2005. Also available as Argonne National Laboratory preprint ANL/MCS-P1283-0805.
S. Bhowmick, L. C. Mclnnes, B. Norris, and P. Raghavan. The role of multimethod linear solvers in PDE-based simulations. In Lecture Notes in Computer Science, volume 2667, pages 828–839, 2003. Computational Science and Its Applications-ICCSA 2003.
S. Bhowmick, P. Raghavan, L. C. Mclnnes, and B. Norris. Faster PDE-Based Simulations Using Robust Composite Linear Solvers, volume 20, pages 373–387. 2004.
G. J. Brahnmath, R. R. Raje, A. M. Olson, M. Auguston, B. R. Bryant, and C. C. Burt. A quality of service catalog for software components. In Proceedings of the Southeastern Software Engineering Conference, http://www.ndiatvc. org/ SESEC2002/, 2002.
R. Bramley, D. Gannon, T. Stuckey, J. Villacis, J. Balasubramanian, E. Akman, F. Berg, S. Diwan, and M. Govindaraju. The Linear System Analyzer. In Enabling Technologies for Computational Science. Kluwer, 2000.
P. N. Brown and Y. Saad. Hybrid Krylov methods for nonlinear systems of equations. SIAM Journal on Scientific and Statistical Computing, 11: 450–481, 1990.
CCA Forum. CCA specification, http://www.cca-forum.org/specification/, 2006.
CCA Forum homepage, http://www.cca-forum.org/, 2006.
R. Chowdhary, P. Bhandarkar, and M. Parashar. Adaptive QoS management for collaboration in heterogeneous environments. In Proceedings of the 16th International Parallel and Distributed Computing Symposium (IEEE, ACM), 11th Heterogeneous Computing Workshop, Fort Lauderdale, FL, 2002.
T.S. Coffey, C.T. Kelley, and D.E. Keyes. Pseudo-transient continuation and differential algebraic equations. SIAM J. Sci. Comp, 25: 553–569, 2003.
D. Keyes (PI). Towards Optimal Petascale Simulations (TOPS) Center, http://www.tops-scidac.org/, 2006.
J. D. de St. Germain, John McCorquodale, Steven G. Parker, and Christopher R. Johnson. Uintah: A massively parallel problem solving environment. In Proceedings of the Ninth IEEE International Symposium on High Performance and Distributed Computing, August 2000.
J. D. de St. Germain, A. Morris, S. G. Parker, A. D. Malony, and S. Shende. Integrating performance analysis in the Uintah software development cycle. In Fourth International Symposium on High Performance Computing (ISHPC-IV), pages 190–206, May 15–17 2002.
Jack Dongarra and Victor Eijkhout. Self-adapting numerical software and automatic tuning of heuristics. In Proceedings of the International Conference on Computational Science, 2003.
Jack Dongarra and Victor Eijkhout. Self-adapting numerical software for next generation applications. International Journal of High Performance Computing Applications, 17: 125–131, 2003. also LAPACK Working Note 157, ICL-UT-02-07.
Thomas Eidson, Jack Dongarra, and Victor Eijkhout. Applying aspect-orient programming concepts to a component-based programming model. In Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS) April 22–26, 2003, Nice, France, 2003.
V. Eijkhout and E. Fuentes. A proposed standard for matrix metadata. Technical Report ICL-UT 03-02, University of Tennessee, 2003.
M. S. Feather, S. Fickas, A. van Lamsweerde, and C. Ponsard. Reconciling system requirements and runtime behavior. In Proceedings of the 9th International Workshop on Software Specification and Design, pages 50–59, April 1998.
N. Furmento, A. Mayer, S. McGough, S. Newhouse, T. Field, and J. Darlington. Optimisation of component-based applications within a Grid environment. In Proceedings of SC2001, 2001.
W. D. Gropp, D. K. Kaushik, D. E. Keyes, and B. F. Smith. A parallel implicit solver for diffusion limited radiation transport equations, 2006. Accepted for the Proceedings of the 16th International Conference on Domain Decomposition Methods.
X. Gu and K. Nahrstedt. A scalable QoS-aware service aggregation model for peer-to-peer computing Grids. In Proceedings of HPDC 2002, 2002.
E. N. Houstis, A. C. Catlin, J. R. Rice, V. S. Verykios, N. Ramakrishnan, and C. E. Houstis. A knowledge/database system for managing performance data and recommending scientific software. A CM Transactions on Mathematical Software, 26(2): 227–253, 2000.
P. Hovland, K. Keahey, L. C. Mclnnes, B. Norris, L. F. Diachin, and P. Ragha van. A quality of service approach for high-performance numerical components. In Proceedings of Workshop on QoS in Component-Based Software Engineering, Software Technologies Conference, Toulouse, France, 2003. Also available as Argonne National Laboratory preprint ANL/MCS-P1028-0203 via ftp://info.mes.anl.gov/pub/tech_reports/reports/P1028.pdf.
K. A. Huck, A. D. Malony, R. Bell, and A. Morris. Design and implementation of a parallel performance data management framework. In Proc. International Conference on Parallel Processing (ICPP 2005). IEEE Computer Society, 2005.
G. Karypis and V. Kumar. A fast and high quality scheme for partitioning irregular graphs. SIAM Journal of Scientific Computing, 20: 359–392, 1999.
K. Keahey, P. Beckman, and J. Ahrens. Ligature: A component architecture for high-performance applications. International Journal of High-Performance Computing Applications, (14): 347–358, 2000.
Peter J. Keleher, Jeffrey K. Hollingsworth, and Dejan Perkovic. Exploiting application alternatives. In 19th International Conference on Distributed Computing Systems, 1999.
C. T. Kelley and D. E. Keyes. Convergence analysis of pseudo-transient continuation. SIAM Journal on Numerical Analysis, 35: 508–523, 1998.
Joseph P. Kenny, Steven J. Benson, Yuri Alexeev, Jason Sarich, Curtis L. Janssen, Lois Curfman Mclnnes, Manojkumar Krishnan, Jarek Nieplocha, Elizabeth Jurrus, Carl Fahlstrom, and Theresa L. Windus. Component-based integration of chemistry and optimization software. Journal of Computational Chemistry, 24(14): 1717–1725, 15 November 2004.
Benjamin C. Lee, Richard Vuduc, James Demmel, and Katherine Yelick. Performance models for evaluation and automatic tuning of symmetric sparse matrixvector multiply. In Proceedings of the International Conference on Parallel Processing, Montreal, Quebec, Canada, August 2004.
H. Liu and M. Parashar. Enabling self-management of component based highperformance scientific applications. In Proceedings of the 14th IEEE International Symposium on High Performance Distributed Computing. IEEE Computer Society Press, July 2005.
A. Malony, S. Shende, N. Trebon, J. Ray, R. Armstrong, C. Rasmussen, and M. Sottile. Performance technology for parallel and distributed component software. Concurrency and Computation: Practice and Experience, 17: 117–141, Feb–Apr 2005.
D. J. Mavriplis. Multigrid approaches to non-linear diffusion problems on unstructured meshes. Numerical Linear Algebra with Applications, 8: 499–512, 2001.
Michael O. McCracken, Allan Snavely, and Allen Malony. Performance modeling for dynamic algorithm selection. In Proceedings of the International Conference on Computational Science (ICCS’03), LNCS, volume 2660, pages 749–758, Berlin, 2003. Springer.
L. C. Mclnnes, B. Norris, S. Bhowmick, and P. Raghavan. Adaptive sparse linear solvers for implicit CFD using Newton-Krylov algorithms. In Proceedings of the Second MIT Conference on Computational Fluid and Solid Mechanics, Cambridge, MA, volume 2, pages 1024–1028. Elsevier, 2003.
Lois Curfman Mclnnes, Jaideep Ray, Rob Armstrong, Tamara L. Dahlgren, Allen Malony, Boyana Norris, Sameer Shende, Joseph P. Kenny, and Johan Steensland. Computational quality of service for scientific CCA applications: Composition, substitution, and reconfiguration. Preprint ANL/MCS-P1326-0206, Argonne National Laboratory, Feb 2006. Available via ftp://info.mcs.anl.gov/pub/tech_reports/reports/P1326.pdf.
D. Mihalas and B. Weibel-Mihalas. Foundations of Radiation Hydrodynamics. Dover Publications, Inc., Mineola, NY, 1999.
J. Nocedal and S. J. Wright. Numerical Optimization. Springer-Verlag, 1999.
B. Norris, L. Mclnnes, and I. Veljkovic. Computational quality of service in parallel CFD. In Proceedings of the 17th International Conference on Parallel CFD, 2005. Also available as Argonne National Laboratory preprint ANL/MCS-P12830805 via ftp://info.mes.anl.gov/pub/tech_reports/reports/P1283.pdf.
B. Norris, J. Ray, R. Armstrong, L. C. Mclnnes, D. E. Bernholdt, W. R. Elwasif, A. D. Malony, and S. Shende. Computational quality of service for scientific components. In Proceedings of the International Symposium on ComponentBased Software Engineering (CBSE7), Edinburgh, Scotland, 2004. Also available as Argonne National Laboratory preprint ANL/MCS-P1131-0204 via ftp://info.mes.anl.gov/pub/tech_reports/reports/P1131.pdf.
R. Raje, B. Bryant, A. Olson, M. Augoston, and C. Burt. A quality-of-servicebased framework for creating distributed heterogeneous software components. Concurrency Comput: Pract. Exper., (14): 1009–1034, 2002.
J. Ray, N. Trebon, S. Shende, R. C. Armstrong, and A. Malony. Performance measurement and modeling of component applications in a high performance computing environment: A case study. In Proceedings of the 18th International Parallel and Distributed Computing Symposium, April 2003.
David Reiner and Tad Pinkerton. A method for adaptive performance improvement of operating systems. In Proceedings of the 1981 ACM SIGMETRICS Conference on Measurement and Methodology of Computer Systems, pages 2–10, September 1981.
Self-Adapting Large-scale Solver Architecture, see http://www.icl.cs.utk.edu/ salsa, 2006.
S. Shende and A. D. Malony. The TAU parallel performance system. International Journal of High Performance Computing Applications, 20(2): 287–331, 2006.
Shweta Sinha and Manish Parashar. System sensitive runtime management of adaptive applications. In Proceedings of the Tenth IEEE Heterogeneous Computing Workshop, San Francisco, CA, 2001.
B. Smith et al. TOPS Solver Components. http://www.mcs.anl.gov/scidac-tops/solver-components/tops.html, 2006.
M. Sosonkina. Runtime adaptation of an iterative linear system solution to distributed environments. In Applied Parallel Computing, PARA’ 2000, volume 1947 of Lecture Notes in Computer Science, pages 132–140, Berlin, 2001. SpringerVerlag.
Johan Steensland and Jaideep Ray. A partitioner-centric model for SAMR partitioning trade-off optimization: Part II. In Proceedings of the 6th International Workshop on High Performance Scientific and Engineering Computing (HPSEG04), August 2004. Held in conjunction with The 2004 International Conference On Parallel processing (ICPP-04), in Montreal, Canada.
Johan Steensland and Jaideep Ray. A partitioner-centric model for SAMR partitioning trade-off optimization: Part I. International Journal of High Performance Computing Applications, 19: 1–14, 2005.
Cristian Tapus, I-Hsin Chung, and Jeffrey K. Hollingsworth. Active Harmony: Towards automated performance tuning. In Proceedings of SG02, 2002.
N. Trebon, A. Morris, J. Ray, S. Shende, and A. Malony. Performance modeling of component assemblies with TAU. Presented at Compframe 2005 workshop, Atlanta, June 2005.
Jeffrey S. Vetter and Patrick H. Worley. Asserting performance expectations. In Proceedings of SC02, 2002.
Richard Vuduc, James Demmel, and Jeff Bilmes. Statistical models for empirical search-based performance tuning. International Journal of High Performance Computing Applications, 18(l): 65–94, February 2004.
Richard Vuduc, James W. Demmel, and Katherine A. Yelick. OSKI: A library of automatically tuned sparse matrix kernels. In Proceedings of SciDAC 2005, Journal of Physics: Conference Series, San Francisco, CA, June 2005. Institute of Physics Publishing.
R. Clint Whaley and Antoine Petitet. Minimizing development and maintenance costs in supporting persistently optimized BLAS. Software: Practice and Experience, 35(2): 101–121, February 2005. http://www.cs.utsa.edu/~whaley/papers/spercwO4.ps.
R. Clint Whaley, Antoine Petitet, and Jack J. Dongarra. Automated empirical optimization of software and the ATLAS project. Parallel Computing, 27(l–2): 3–35, 2001. Also available as University of Tennessee LAPACK Working Note #147, UT-CS-00-448, 2000 http://www.netlib.org/lapack/lawns/lawnl47.ps).
K. Whisnant, Z. Kalbarczyk, and R. K. Iyer. A foundation for adaptive fault tolerance in software. In Proceedings of the 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, pages 252–260, April 2003.
Eric Wohlstadter, Stefan Tai, Thomas Mikalsen, Isabelle Rouvellou, and Premkumar Devanbu. GlueQoS: Middleware to sweeten quality-of-service policy interactions. In Proceedings of the 26th International Conference on Software Engineering (ICSE’ 04), pages 189–199, May 2004.
K. Zhang, K. Damevski, V. Venkatachalapathy, and S. Parker. SCIRun2: A CCA framework for high performance computing. In Proceedings of the 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS 2004), Santa Fe, NM, April 2004. IEEE Press.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 International Federation for Information Processing
About this paper
Cite this paper
Norris, B., Bhowmick, S., Kaushik, D., Mclnnes, L.C. (2007). Middleware for Dynamic Adaptation of Component Applications. In: Gaffney, P.W., Pool, J.C.T. (eds) Grid-Based Problem Solving Environments. IFIP The International Federation for Information Processing, vol 239. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-73659-4_8
Download citation
DOI: https://doi.org/10.1007/978-0-387-73659-4_8
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-73658-7
Online ISBN: 978-0-387-73659-4
eBook Packages: Computer ScienceComputer Science (R0)