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.
Similar content being viewed by others
References
Advanced Visual Systems (AVS). http://www.avs.com/
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.
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.
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)
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)
D. Bernholdt, et al., A component architecture for high-performance scientific computing, Intl. J. High-Perf. Computing Appl. (2004), To appear.
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)
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.
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.
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.
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.
Business Process Execution Language for Web Services Version 1.1. http://www-106.ibm.com/developerworks/library/ws-bpel/
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.
CCA specification. http://cca-forum.org/specification
CCA Tutorials. http://www.cca-forum.org/tutorials/
CORBA Component Model. http://www.omg.org/technology/docum-ents/formal/components.htm
T. Dahlgren, T. Epperly and G. Kumfert, Babel User's Guide, CASC, Lawrence Livermore National Laboratory, version 0.8.4 edition, April 2003.
Earth System Modeling Framework (ESMF). http://sdcd.gsfc.nasa.gov/ESS/esmf_tasc
I. Foster, C. Kesselman, J. Nick and S. Tuecke, Grid services for distributed system integration, Computer 35(6) (2002) 37–46.
M. Fowler, Inversion of control containers and the dependency injection pattern, (January 2004), http://www.martinfowler.com/articles/injection.html
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.
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.
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.
S. Krishnan, et al., The XCAT science portal, Scientific Programming 10(4) (2002) 303–317
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.
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
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)
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.
S. Matsuoka, et al., Ninf: A Global Computing Infrastructure, http://ninf.apgrid.org/welcome.shtml
P. Newton and J. Browne, The CODE 2.0 graphical parallel programming language, in: proc. ACM Int. Conf. on Supercomputing, 1992 pp. 167–177.
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.
C. Szyperski, Component Software: Beyond Object-Oriented Programming, ACM Press, New York, New York 10036, 1999).
T. Tannenbaum, D. Wright, K. Miller and M. Livny. Condor—A Distributed Job Scheduler, in: Beowulf Cluster Computing with Linux, The MIT Press, (2002).
The Avalon Project. http://avalon.apache.org/
The Open Grid Services Infrastructure Working Group. http://www.gridforum.org/ogsi-wg, 2003.
The Pico Framework, http://www.picocontainer.org
The Spring Project. http://www.springframework.org
Web Services Security Version 1.0. http://www-106.ibm.com/dev-eloperworks/webservices/library/ws-secure/
WS-Resource Framework. http://www.globus.org/wsrf
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
Author information
Authors and Affiliations
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
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
Issue Date:
DOI: https://doi.org/10.1007/s10586-005-4094-2