Middleware for Dynamic Adaptation of Component Applications

  • Boyana Norris
  • Sanjukta Bhowmick
  • Dinesh Kaushik
  • Lois Curfman Mclnnes
Part of the IFIP The International Federation for Information Processing book series (IFIPAICT, volume 239)


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.


Argonne National Laboratory Linear Solver Nonlinear Iteration Krylov Method Adaptive Solver 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    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.Google Scholar
  2. 2.
    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.MATHCrossRefGoogle Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    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.
  6. 6.
    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.Google Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    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.Google Scholar
  11. 11.
    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.CrossRefGoogle Scholar
  12. 12.
    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.Google Scholar
  13. 13.
    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.
  14. 14.
    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.Google Scholar
  15. 15.
    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.MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    CCA Forum. CCA specification, http://www.cca-forum.org/specification/, 2006.
  17. 17.
    CCA Forum homepage, http://www.cca-forum.org/, 2006.
  18. 18.
    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.Google Scholar
  19. 19.
    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.MATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    D. Keyes (PI). Towards Optimal Petascale Simulations (TOPS) Center, http://www.tops-scidac.org/, 2006.
  21. 21.
    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.Google Scholar
  22. 22.
    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.Google Scholar
  23. 23.
    Jack Dongarra and Victor Eijkhout. Self-adapting numerical software and automatic tuning of heuristics. In Proceedings of the International Conference on Computational Science, 2003.Google Scholar
  24. 24.
    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.CrossRefGoogle Scholar
  25. 25.
    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.Google Scholar
  26. 26.
    V. Eijkhout and E. Fuentes. A proposed standard for matrix metadata. Technical Report ICL-UT 03-02, University of Tennessee, 2003.Google Scholar
  27. 27.
    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.Google Scholar
  28. 28.
    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.Google Scholar
  29. 29.
    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.Google Scholar
  30. 30.
    X. Gu and K. Nahrstedt. A scalable QoS-aware service aggregation model for peer-to-peer computing Grids. In Proceedings of HPDC 2002, 2002.Google Scholar
  31. 31.
    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.MATHCrossRefGoogle Scholar
  32. 32.
    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.
  33. 33.
    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.Google Scholar
  34. 34.
    G. Karypis and V. Kumar. A fast and high quality scheme for partitioning irregular graphs. SIAM Journal of Scientific Computing, 20: 359–392, 1999.MATHCrossRefMathSciNetGoogle Scholar
  35. 35.
    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.CrossRefGoogle Scholar
  36. 36.
    Peter J. Keleher, Jeffrey K. Hollingsworth, and Dejan Perkovic. Exploiting application alternatives. In 19th International Conference on Distributed Computing Systems, 1999.Google Scholar
  37. 37.
    C. T. Kelley and D. E. Keyes. Convergence analysis of pseudo-transient continuation. SIAM Journal on Numerical Analysis, 35: 508–523, 1998.MATHCrossRefMathSciNetGoogle Scholar
  38. 38.
    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.Google Scholar
  39. 39.
    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.Google Scholar
  40. 40.
    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.Google Scholar
  41. 41.
    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.Google Scholar
  42. 42.
    D. J. Mavriplis. Multigrid approaches to non-linear diffusion problems on unstructured meshes. Numerical Linear Algebra with Applications, 8: 499–512, 2001.MATHCrossRefMathSciNetGoogle Scholar
  43. 43.
    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.Google Scholar
  44. 44.
    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.Google Scholar
  45. 45.
    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.
  46. 46.
    D. Mihalas and B. Weibel-Mihalas. Foundations of Radiation Hydrodynamics. Dover Publications, Inc., Mineola, NY, 1999.Google Scholar
  47. 47.
    J. Nocedal and S. J. Wright. Numerical Optimization. Springer-Verlag, 1999.Google Scholar
  48. 48.
    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.
  49. 49.
    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.
  50. 50.
    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.MATHCrossRefGoogle Scholar
  51. 51.
    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.Google Scholar
  52. 52.
    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.Google Scholar
  53. 53.
    Self-Adapting Large-scale Solver Architecture, see http://www.icl.cs.utk.edu/ salsa, 2006.
  54. 54.
    S. Shende and A. D. Malony. The TAU parallel performance system. International Journal of High Performance Computing Applications, 20(2): 287–331, 2006.CrossRefGoogle Scholar
  55. 55.
    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.Google Scholar
  56. 56.
    B. Smith et al. TOPS Solver Components. http://www.mcs.anl.gov/scidac-tops/solver-components/tops.html, 2006.
  57. 57.
    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.Google Scholar
  58. 58.
    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.Google Scholar
  59. 59.
    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.CrossRefGoogle Scholar
  60. 60.
    Cristian Tapus, I-Hsin Chung, and Jeffrey K. Hollingsworth. Active Harmony: Towards automated performance tuning. In Proceedings of SG02, 2002.Google Scholar
  61. 61.
    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.Google Scholar
  62. 62.
    Jeffrey S. Vetter and Patrick H. Worley. Asserting performance expectations. In Proceedings of SC02, 2002.Google Scholar
  63. 63.
    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.Google Scholar
  64. 64.
    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.Google Scholar
  65. 65.
    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.
  66. 66.
    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).MATHCrossRefGoogle Scholar
  67. 67.
    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.Google Scholar
  68. 68.
    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.Google Scholar
  69. 69.
    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.Google Scholar

Copyright information

© International Federation for Information Processing 2007

Authors and Affiliations

  • Boyana Norris
    • 1
  • Sanjukta Bhowmick
    • 1
    • 2
  • Dinesh Kaushik
    • 1
  • Lois Curfman Mclnnes
    • 1
  1. 1.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonneUSA
  2. 2.Department of Applied Physics and Applied MathematicsColumbia UniversityNew YorkUSA

Personalised recommendations