Skip to main content

Software Architecture Issues in Scientific Component Development

  • Conference paper
Applied Parallel Computing. State of the Art in Scientific Computing (PARA 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3732))

Included in the following conference series:

Abstract

Commercial component-based software engineering practices, such as the CORBA component model, Enterprise JavaBeans, and COM, are well-established in the business computing community. These practices present an approach for managing the increasing complexity of scientific software development, which has motivated the Common Component Architecture (CCA), a component specification targeted at high-performance scientific application development. The CCA is an approach to component development that is minimal in terms of the complexity of component interface requirements and imposes a minimal performance penalty. While this lightweight specification has enabled the development of a number of high-performance scientific components in several domains, the software design process for developing component-based scientific codes is not yet well defined. This fact, coupled with the fact that component-based approaches are still new to the scientific community, may lead to an ad hoc design process, potentially resulting in code that is harder to maintain, extend, and test and may negatively affect performance. We explore some concepts and approaches based on widely accepted software architecture design principles and discuss their potential application in the development of high-performance scientific component applications. We particularly emphasize those principles and approaches that contribute to making CCA-based applications easier to design, implement, and maintain, as well as enabling dynamic adaptivity with the goal of maximizing performance.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anonymous: CORBA component model, http://www.omg.org/technology/documents/formal/components.htm (2004)

  2. Anonymous: Enterprise JavaBeans downloads and specifications, http://java.sun.com/products/ejb/docs.html (2004)

  3. Box, D.: Essential COM. Addison-Wesley Pub. Co, Reading (1997)

    Google Scholar 

  4. Garlan, D., Shaw, M.: An Introduction to Software Architecture. In: Advances in Software Engineering and Knowledge Engineering, World Scientific Publishing Company, Singapore (1993)

    Google Scholar 

  5. Armstrong, R., Gannon, D., Geist, A., Keahey, K., Kohn, S., McInnes, L.C., Parker, S., Smolinski, B.: Toward a common component architecture for high-performance scientific computing. In: Proceedings of High Performance Distributed Computing, pp. 115–124 (1999)

    Google Scholar 

  6. Common Component Architecture Forum: CCA Forum website, http://www.cca-forum.org (2004)

  7. CCA Forum: CCA specification, http://cca-forum.org/specification/ (2003)

  8. Norris, B., Balay, S., Benson, S., Freitag, L., Hovland, P., McInnes, L., Smith, B.: Parallel components for PDEs and optimization: Some issues and experiences. Parallel Computing 28(12), 1811–1831 (2002)

    Article  MATH  Google Scholar 

  9. Lefantzi, S., Ray, J.: A component-based scientific toolkit for reacting flows. In: Proceedings of the Second MIT Conference on Computational Fluid and Solid Mechanics, Boston, Mass, Elsevier Science, Amsterdam (2003)

    Google Scholar 

  10. Benson, S., Krishnan, M., McInnes, L., Nieplocha, J., Sarich, J.: Using the GA and TAO toolkits for solving large-scale optimization problems on parallel computers. Technical Report ANL/MCS-P1084-0903, Argonne National Laboratory (2003)

    Google Scholar 

  11. Larson, J.W., Norris, B., Ong, E.T., Bernholdt, D.E., Drake, J.B., Elwasif, W.R., Ham, M.W., Rasmussen, C.E., Kumfert, G., Katz, D.S., Zhou, S., DeLuca, C., Collins, N.S.: Components, the Common Component Architecture, and the climate/weather/ocean community. In: 84th American Meteorological Society Annual Meeting, Seattle, Washington, American Meteorological Society (2004)

    Google Scholar 

  12. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons Ltd, Chichester (1996)

    Google Scholar 

  13. Booch, G.: Unified method for object-oriented development Version 0.8. Rational Software Corporation (1995)

    Google Scholar 

  14. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26 (2000)

    Google Scholar 

  15. Shende, S., Malony, A.D., Rasmussen, C., Sottile, M.: A performance interface for component-based applications. In: Proceedings of International Workshop on Performance Modeling, Evaluation and Optimization, International Parallel and Distributed Processing Symposium (2003)

    Google Scholar 

  16. Bhowmick, S., Raghavan, P., McInnes, L., Norris, B.: Faster PDE-based simulations using robust composite linear solvers. Future Generation Computer Systems 20, 373–387 (2004)

    Article  Google Scholar 

  17. McInnes, L., Norris, B., Bhowmick, S., Raghavan, P.: Adaptive sparse linear solvers for implicit CFD using Newton-Krylov algorithms. In: Proceedings of the Second MIT Conference on Computational Fluid and Solid Mechanics, Massachusetts Institute of Technology, Boston, USA, June 17-20 (2003)

    Google Scholar 

  18. Balay, S., Buschelman, K., Gropp, W., Kaushik, D., Knepley, M., McInnes, L., Smith, B.F., Zhang, H.: PETSc users manual. Technical Report ANL-95/11 - Revision 2.1.5, Argonne National Laboratory (2003), http://www.mcs.anl.gov/petsc

  19. Rasmussen, C.E., Lindlan, K.A., Mohr, B., Striegnitz, J.: Chasm: Static analysis and automatic code generation for improved Fortran 90 and C++ interoperability. In: 2001 LACSI Symposium (2001)

    Google Scholar 

  20. Rasmussen, C.E., Sottile, M.J., Shende, S.S., Malony, A.D.: Bridging the language gap in scientific computing: the chasm approach. Technical Report LA-UR-03-3057, Advanced Computing Laboratory, Los Alamos National Laboratory (2003)

    Google Scholar 

  21. Bhowmick, S.: Private communication. Los Alamos National Laboratory (2004)

    Google Scholar 

  22. Wilde, T.: Private communication. Oak Ridge National Laboratory (2004)

    Google Scholar 

  23. Anonymous: Babel homepage, http://www.llnl.gov/CASC/components/babel.html (2004)

  24. Trebon, N., Ray, J., Shende, S., Armstrong, R.C., Malony, A.: An approximate method for optimizing HPC component applications in the presence ofmultiple component implementations. Technical Report SAND2003-8760C, Sandia National Laboratories (2004), Also submitted to 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments, held during the 18th International Parallel and Distributed Computing Symposium, Santa Fe, NM, USA (2004)

    Google Scholar 

  25. Hovland, P., Keahey, K., McInnes, L.C., Norris, B., Diachin, L.F., Raghavan, P.: 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)

    Google Scholar 

  26. Norris, B., Ray, J., Armstrong, R., McInnes, L.C., Bernholdt, D.E., Elwasif, W.R., Malony, A.D., Shende, S.: Computational quality of service for scientific components. In: Proceedings of International Symposium on Component-Based Software Engineering (CBSE7), Edinburgh, Scotland (2004)

    Google Scholar 

  27. Beugnard, A., Jézéquel, J.M., Plouzeau, N., Watkins, D.: Making components contract aware. IEEE Computer, 38–45 (1999)

    Google Scholar 

  28. Gu, X., Nahrstedt, K.: A scalable QoS-aware service aggregation model for peer-to-peer computing grids. In: Proceedings of High Performance Distributed Computing (2002)

    Google Scholar 

  29. Loyall, J.P., Schantz, R.E., Zinky, J.A., Bakken, D.E.: Specifying and measuring quality of service in distributed object systems. In: Proceedings of the First International Symposium on Object-Oriented Real-Time Distributed Computing, ISORC 1998 (1998)

    Google Scholar 

  30. Raje, R., Bryant, B., Olson, A., Auguston, M., Burt, C.: A quality-of-service-based framework for creating distributed heterogeneous software components. Concurrency Comput: Pract. Exper. 14, 1009–1034 (2002)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Norris, B. (2006). Software Architecture Issues in Scientific Component Development. In: Dongarra, J., Madsen, K., Waśniewski, J. (eds) Applied Parallel Computing. State of the Art in Scientific Computing. PARA 2004. Lecture Notes in Computer Science, vol 3732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11558958_75

Download citation

  • DOI: https://doi.org/10.1007/11558958_75

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29067-4

  • Online ISBN: 978-3-540-33498-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics