Middleware for Dynamic Adaptation of Component Applications

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.

[1]  David E. Keyes,et al.  Pseudotransient Continuation and Differential-Algebraic Equations , 2003, SIAM J. Sci. Comput..

[2]  Dimitri J. Mavriplis Multigrid approaches to non-linear diffusion problems on unstructured meshes , 2001, Numer. Linear Algebra Appl..

[3]  Sanjukta Bhowmick,et al.  Parallel adaptive solvers in compressible petsc-fun3d simulations , 2006 .

[4]  Marina L. Gavrilova,et al.  Computational Science and Its Applications — ICCSA 2003 , 2003 .

[5]  Victor Eijkhout,et al.  Applying aspect-orient programming concepts to a component-based programming model , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[6]  Katherine Yelick,et al.  Performance models for evaluation and automatic tuning of symmetric sparse matrix-vector multiply , 2004 .

[7]  P. Raghavan,et al.  Adaptive sparse linear solvers for implicit CFD using Newton-Krylov algorithms , 2003 .

[8]  W. K. Anderson,et al.  An implicit upwind algorithm for computing turbulent flows on unstructured grids , 1994 .

[9]  Allen D. Malony,et al.  Performance Modeling for Dynamic Algorithm Selection , 2003, International Conference on Computational Science.

[10]  Keming Zhang,et al.  SCIRun2: a CCA framework for high performance computing , 2004, Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, 2004. Proceedings..

[11]  Naren Ramakrishnan,et al.  PYTHIA-II: a knowledge/database system for managing performance data and recommending scientific software , 2000, TOMS.

[12]  Scott R. Kohn,et al.  Toward a Common Component Architecture for High-Performance Scientific Computing , 1999, HPDC.

[13]  Premkumar T. Devanbu,et al.  GlueQoS: middleware to sweeten quality-of-service policy interactions , 2004, Proceedings. 26th International Conference on Software Engineering.

[14]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[15]  Victor Eijkhout,et al.  A Proposed Standard for Matrix Metadata , 2003 .

[16]  Klara Nahrstedt,et al.  A scalable QoS-aware service aggregation model for peer-to-peer computing grids , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[17]  Katherine Yelick,et al.  OSKI: A library of automatically tuned sparse matrix kernels , 2005 .

[18]  Yuefan Deng,et al.  New trends in high performance computing , 2001, Parallel Computing.

[19]  James Demmel,et al.  Statistical Models for Empirical Search-Based Performance Tuning , 2004, Int. J. High Perform. Comput. Appl..

[20]  A. Stephen McGough,et al.  Optimisation of component-based applications within a grid environment , 2001, SC '01.

[21]  I-Hsin Chung,et al.  Active Harmony: Towards Automated Performance Tuning , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[22]  Manish Parashar,et al.  Enabling self-management of component-based high-performance scientific applications , 2005, HPDC-14. Proceedings. 14th IEEE International Symposium on High Performance Distributed Computing, 2005..

[23]  Jeffrey S. Vetter,et al.  Asserting Performance Expectations , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[24]  Stephen J. Wright,et al.  Numerical Optimization , 2018, Fundamental Statistical Inference.

[25]  Allen D. Malony,et al.  Performance measurement and modeling of component applications in a high performance computing environment: a case study , 2004 .

[26]  Yousef Saad,et al.  Hybrid Krylov Methods for Nonlinear Systems of Equations , 1990, SIAM J. Sci. Comput..

[27]  Allen D. Malony,et al.  Computational Quality of Service for Scientific CCA Applications: Composition, Substitution, and Reconfiguration , 2006 .

[28]  Rajeev R. Raje,et al.  A quality‐of‐service‐based framework for creating distributed heterogeneous software components , 2002, Concurr. Comput. Pract. Exp..

[29]  Shweta Sinha,et al.  System sensitive runtime management of adaptive applications , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[30]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[31]  Allen D. Malony,et al.  Performance technology for parallel and distributed component software: Research Articles , 2005 .

[32]  Victor Eijkhout,et al.  Self-Adapting Numerical Software for Next Generation Applications , 2003, Int. J. High Perform. Comput. Appl..

[33]  Jaideep Ray,et al.  A Partitioner-Centric Model for Structured Adaptive Mesh Refinement Partitioning Trade-Off Optimization: Part I , 2005, Int. J. High Perform. Comput. Appl..

[34]  C. Kelley,et al.  Convergence Analysis of Pseudo-Transient Continuation , 1998 .

[35]  Pearl Brereton,et al.  Service-based software: the future for flexible software , 2000, Proceedings Seventh Asia-Pacific Software Engeering Conference. APSEC 2000.

[36]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[37]  Allen D. Malony,et al.  Integrating Performance Analysis in the Uintah Software Development Cycle , 2009, ISHPC.

[38]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[39]  Victor Eijkhout,et al.  Self-Adapting Numerical Software and Automatic Tuning of Heuristics , 2003, International Conference on Computational Science.

[40]  C. Gorman,et al.  PI , 2021, Encyclopedic Dictionary of Archaeology.

[41]  James Arthur Kohl,et al.  A Component Architecture for High-Performance Scientific Computing , 2006, Int. J. High Perform. Comput. Appl..

[42]  C. Kelley,et al.  Pseudo-transient continuation and differential-algebraic equations , 2002 .

[43]  Sanjukta Bhowmick,et al.  Faster PDE-based simulations using robust composite linear solvers , 2004, Future Gener. Comput. Syst..

[44]  Takuo Watanabe,et al.  A software model for flexible & safe adaptation of mobile code programs , 2002, IWPSE '02.

[45]  Masha Sosonkina Runtime Adaptation of an Iterative Linear System Solution to Distributed Environments , 2000, PARA.

[46]  D. Mihalas,et al.  Foundations of Radiation Hydrodynamics , 1985 .

[47]  Jaideep Ray,et al.  A partitioner-centric model for SAMR partitioning trade-off optimization: Part II , 2004, Workshops on Mobile and Wireless Networking/High Performance Scientific, Engineering Computing/Network Design and Architecture/Optical Networks Control and Management/Ad Hoc and Sensor Networks/Compil.

[48]  Ravishankar K. Iyer,et al.  A foundation for adaptive fault tolerance in software , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[49]  Allen D. Malony,et al.  Design and implementation of a parallel performance data management framework , 2005, 2005 International Conference on Parallel Processing (ICPP'05).

[50]  Allen D. Malony,et al.  Performance Modeling of Component Assemblies with TAU , 2005 .

[51]  James P. Ahrens,et al.  Ligature: Component Architecture for High Performance Applications , 2000, Int. J. High Perform. Comput. Appl..

[52]  Allen D. Malony,et al.  CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2005; 17:117–141 Published online in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe.931 , 2022 .

[53]  Steven G. Parker,et al.  Uintah: a massively parallel problem solving environment , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[54]  Allen D. Malony,et al.  The Tau Parallel Performance System , 2006, Int. J. High Perform. Comput. Appl..

[55]  Manish Parashar,et al.  Adaptive QoS management for collaboration in heterogeneous environments , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[56]  Rajeev R. Raje,et al.  A Quality of Service Catalog for Software Components , 2002 .

[57]  Chris Walshaw,et al.  Assessing the Scalability of Multiphysics Tools for Modeling Solidification and Melting Processes on Parallel Clusters , 2005, Int. J. High Perform. Comput. Appl..

[58]  Dennis Gannon,et al.  The Linear System Analyzer , 2000 .

[59]  Jarek Nieplocha,et al.  Component‐based integration of chemistry and optimization software , 2004, Journal of computational chemistry.

[60]  Boyana Norris,et al.  Computational Quality of Service in Parallel CFD , 2006 .

[61]  Jeffrey K. Hollingsworth,et al.  Exposing application alternatives , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[62]  W. K. Anderson,et al.  Achieving High Sustained Performance in an Unstructured Mesh CFD Application , 1999, ACM/IEEE SC 1999 Conference (SC'99).

[63]  Sanjukta Bhowmick,et al.  The Role of Multi-method Linear Solvers in PDE-based Simulations , 2003, ICCSA.

[64]  David S. Reiner,et al.  A method for adaptive performance improvement of operating systems , 1981, SIGMETRICS '81.

[65]  Antoine Petitet,et al.  Minimizing development and maintenance costs in supporting persistently optimized BLAS , 2005 .

[66]  David E. Bernholdt,et al.  Computational Quality of Service for Scientific Components , 2004, CBSE.

[67]  Jack J. Dongarra,et al.  Automated empirical optimizations of software and the ATLAS project , 2001, Parallel Comput..