Skip to main content
Log in

On Building Parallel & Grid Applications: Component Technology and Distributed Services

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Software Component Frameworks are well known in the commercial business application world and now this technology is being explored with great interest as a way to build large-scale scientific applications on parallel computers. In the case of Grid systems, the current architectural model is based on the emerging web services framework. In this paper we describe progress that has been made on the Common Component Architecture model (CCA) and discuss its success and limitations when applied to problems in Grid computing. Our primary conclusion is that a component model fits very well with a services-oriented Grid, but the model of composition must allow for a very dynamic (both in space and in time) control of composition. We note that this adds a new dimension to conventional service workflow and it extends the “Inversion of Control” aspects of most component systems.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Advanced Visual Systems (AVS). http://www.avs.com/

  2. M. Agarwal and M. Parashar, Enabling autonomic compositions in grid environments, in: Proceedings of the 4th International Workshop on Grid Computing (Grid 2003), Phoenix, AZ, USA, IEEE Computer Society Press (November 2003) pp. 34–41.

  3. B. Allan, R. Armstrong, A. Wolfe, J. Ray, D. Bernholdt and J. Kohl, The CCA core specification in a distributed memory SPMD framework, Concurrency and Computation: Practice and Experience 14(5) (2002) 1–23.

    Article  Google Scholar 

  4. R. Armstrong, D. Gannon, A. Geist, K. Keahey, S. Kohn, L. McInnes, S. Parker and B. Smolinski, Towards a common component architecture for high performance scientific computing, in: Proceedings of the The Eighth IEEE International Symposium on High Performance Distributed Computing, 1998. (http://citeseer.ist.psu.edu/armstrong99toward.html)

  5. D. Bernholdt, R. Armstrong, and B. Allan. Managing complexity in modern high end scientific computing through component-based software engineering. in: Proceedings of HPCA Workshop on Productivity and Performance in High-End Computing (PPHEC 2004), Madrid, Spain. IEEE Computer Society, (2004). (http://www.research.ibm.com/people/r/rajamony/pphec2004-proceedings.pdf)

  6. D. Bernholdt, et al., A component architecture for high-performance scientific computing, Intl. J. High-Perf. Computing Appl. (2004), To appear.

  7. D. Bernholdt, W. Elwasif, J. Kohl and T. Epperly, A component architecture for high-performance computing, in: Proceedings of the Workshop on Performance Optimization via High-Level Languages and Libraries (POHLL-02), (2002). (http://www.ece.lsu.edu/jxr/ics02workshop.html)

  8. F. Bertrand and R. Bramley. DCA: A distributed CCA framework based on MPI, in: Proceedings of the 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS'04), Santa Fe, NM, IEEE Press. 53 (April 2004) pp. 80–89.

  9. V. Bhat and M. Parashar, Discover middleware substrate for integrating services on the grid, in: Proceedings of the 10th International Conference on High Performance Computing (HiPC 2003), Lecture Notes in Computer Science, eds. T.M. Pinkston and V.K. Prasanna, vol. 2913 Springer-Verlag, Hyderabad, India, (2003) pp. 373–382.

  10. D. Bhatia, V. Burzevski, M. Camuseva, G. Fox, W. Furmanski, G. Premchandra, WebFlow: A Visual Programming Paradigm for Web/Java Based Coarse Grain Distributed Computing, Concurrency–Practice and Experience, 1997 pp. 555–577.

  11. J. Browne, S. Hyder, J. Dongarra, K. Moore and P. Newton, Visual programming and debugging for parallel computing, IEEE Parallel and Distributed Technology 3(1) (Spring 1995) 75–83.

    Google Scholar 

  12. Business Process Execution Language for Web Services Version 1.1. http://www-106.ibm.com/developerworks/library/ws-bpel/

  13. H. Casanova and J. Dongarra, NetSolve: A network server for solving computational science problems, The International Journal of Supercomputer Applications and High Performance Computing 11(3) (1997) 212–223.

    Google Scholar 

  14. CCA specification. http://cca-forum.org/specification

  15. CCA Tutorials. http://www.cca-forum.org/tutorials/

  16. CORBA Component Model. http://www.omg.org/technology/docum-ents/formal/components.htm

  17. T. Dahlgren, T. Epperly and G. Kumfert, Babel User's Guide, CASC, Lawrence Livermore National Laboratory, version 0.8.4 edition, April 2003.

  18. Earth System Modeling Framework (ESMF). http://sdcd.gsfc.nasa.gov/ESS/esmf_tasc

  19. I. Foster, C. Kesselman, J. Nick and S. Tuecke, Grid services for distributed system integration, Computer 35(6) (2002) 37–46.

    Article  Google Scholar 

  20. M. Fowler, Inversion of control containers and the dependency injection pattern, (January 2004), http://www.martinfowler.com/articles/injection.html

  21. D. Gannon, R. Ananthakrishnan, S. Krishnan, M. Govindaraju, L. Ramakrishnan and A. Slominski, Grid web services and application factories, in: Grid Computing: Making the Global Infrastructure a Reality, Nov 2002 Chapter 9.

  22. M. Govindaraju, S. Krishnan, K. Chiu, A. Slominski, D. Gannon and R. Bramley, Merging the CCA Component Model with the OGSI Framework, in: 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid, (May 2003), pp. 182–189.

  23. C. Johnson, S. Parker and D. Weinstein, Component-based problem solving environments for large-scale scientific computing, Concurrency and Computation: Practice and Experience 14 (2002) 1337–1349.

    Article  Google Scholar 

  24. S. Krishnan, et al., The XCAT science portal, Scientific Programming 10(4) (2002) 303–317

    MathSciNet  Google Scholar 

  25. S. Krishnan and D. Gannon, XCAT3: A Framework for CCA Components as OGSA Services, in: Proceedings of HIPS 2004, 9th International Workshop on High-Level Parallel Programming Models and Supportive Environments, (April, 2004) pp. 90–97.

  26. G. Kumfert, Understanding the CCA specification using Decaf, Technical Report UCRLMA-145991, Lawrence Livermore National Laboratory, (2003). http://www.llnl.gov/CASC/components/docs.html

  27. J. Larson, B. Norris, E. Ong, D. Bernholdt, J. Drake, W. Elwasif, M. Ham, C. Rasmussen, G. Kumfert, D. Katz, S. Zhou, C. DeLuca and N. Collins, Components, the common component architecture, and the climate/weather/ocean community, in: 84th American Meteorological Society Annual Meeting, Seattle, Washington, American Meteorological Society (January 2004). (http://pat.jpl.nasa.gov/public/dsk/papers/ams04.html)

  28. S. Lefantzi, J. Ray, and H. Najm, Using the common component architecture to design high performance scientific simulation codes, in: Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS 2003), (CDROM), Nice, France. IEEE Computer Society (April 2003), p. 52a.

  29. S. Matsuoka, et al., Ninf: A Global Computing Infrastructure, http://ninf.apgrid.org/welcome.shtml

  30. P. Newton and J. Browne, The CODE 2.0 graphical parallel programming language, in: proc. ACM Int. Conf. on Supercomputing, 1992 pp. 167–177.

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

    Article  Google Scholar 

  32. C. Szyperski, Component Software: Beyond Object-Oriented Programming, ACM Press, New York, New York 10036, 1999).

    Google Scholar 

  33. T. Tannenbaum, D. Wright, K. Miller and M. Livny. Condor—A Distributed Job Scheduler, in: Beowulf Cluster Computing with Linux, The MIT Press, (2002).

  34. The Avalon Project. http://avalon.apache.org/

  35. The Open Grid Services Infrastructure Working Group. http://www.gridforum.org/ogsi-wg, 2003.

  36. The Pico Framework, http://www.picocontainer.org

  37. The Spring Project. http://www.springframework.org

  38. Web Services Security Version 1.0. http://www-106.ibm.com/dev-eloperworks/webservices/library/ws-secure/

  39. WS-Resource Framework. http://www.globus.org/wsrf

  40. S. Zhou, A. da Silva, B. Womack and G. Higgins. Prototyping the ESMF using DOE's CCA, in: NASA Earth Science Technology Conference 2003, College Park, MD, (June 2003). http://esto.nasa.gov/conferences/estc2003/papers/A4P3(Zhou).pdf

Download references

Author information

Authors and Affiliations

Authors

Additional information

Dennis Gannon is a professor of Computer Science at Indiana University. He received his Ph.D. in Computer Science from the University of Illinois in 1980 and his Ph.D. in Mathematics from the University of California in 1974. From 1980 to 1985, he was on the faculty at Purdue University. His research interests include software tools for high performance distributed systems and problem solving environments for scientific computation.

Sriram Krishnan received his Ph.D. in Computer Science from Indiana University in 2004. He is currently in the Grid Development Group at the San Diego Supercomputer Center where he is working on designing a Web services based architecture for biomedical applications that is secure and scalable, and is conducive to the creation of complex workflows. He received my undergraduate degree in Computer Engineering from the University of Mumbai, India.

Liang Fang is a Ph.D. student in Computer Science at Indiana University. His research interests include Grid computing, Web services, portals, their security and scalability issues. He is a Research Assistant in Computer Science at Indiana University, currently responsible for investigating authorization and other security solutions to the project of Linked Environments for Atmospheric Discovery (LEAD).

Gopi Kandaswamy is a Ph.D. student in the Computer Science Department at Indiana University where he is current a Research Assistant. His research interests include Web services and workflow systems for the Grid.

Yogesh Simmhan received his B.E. degree in Computer Science from Madras University, India in 2000, and is a doctoral candidate in Computer Science at Indiana University. He is currently working as a Research Assistant at Indiana University, investigating data management issues in the LEAD project. His interests lie in data provenance for workflow systems and its use in data quality estimation.

Aleksander Slominski is a Ph.D. student in the Computer Science at Indiana University. His research interests include Grid and Web Services, streaming XML Pull Parsing and performance, Grid security, asynchronous messaging, events, and notifications brokers, component technologies, and workflow composition. He is currently working as a Research Assistant investigating creation and execution of dynamic workflows using Grid Process Execution Language (GPEL) based on WS-BPEL.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gannon, D., Krishnan, S., Fang, L. et al. On Building Parallel & Grid Applications: Component Technology and Distributed Services. Cluster Comput 8, 271–277 (2005). https://doi.org/10.1007/s10586-005-4094-2

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-005-4094-2

Keywords

Navigation