Skip to main content
Log in

Programming the Grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Computational Grids [17,25] have become an important asset in large-scale scientific and engineering research. By providing a set of services that allow a widely distributed collection of resources to be tied together into a relatively seamless computing framework, teams of researchers can collaborate to solve problems that they could not have attempted before. Unfortunately the task of building Grid applications remains extremely difficult because there are few tools available to support developers. To build reliable and re-usable Grid applications, programmers must be equipped with a programming framework that hides the details of most Grid services and allows the developer a consistent, non-complex model in which applications can be composed from well tested, reliable sub-units. This paper describes experiences with using a software component framework for building Grid applications. The framework, which is based on the DOE Common Component Architecture (CCA) [1,2,3,8], allows individual components to export function/service interfaces that can be remotely invoked by other components. The framework also provides a simple messaging/event system for asynchronous notification between application components. The paper also describes how the emerging Web-services [52] model fits with a component-oriented application design philosophy. To illustrate the connection between Web services and Grid application programming we describe a simple design pattern for application factory services which can be used to simplify the task of building reliable Grid programs. Finally we address several issues of Grid programming that better understood from the perspective of Peer-to-Peer (P2P) systems. In particular we describe how models for collaboration and resource sharing fit well with many Grid application scenarios.

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. B.A. Allan, R.C. Armstrong, A.P. Wolfe, J. Ray, D.E. Bernholdt and J.A. Kohl, The CCA core specification in a distributed memory SPMD framework, submitted to Concurrency: Practice and Experience.

  2. R. Armstrong, D. Gannon, A. Geist, K. Keahey, S. Kohn, L. Mcinnes, S. Parker and B. Smolinski, Toward a common component architecture for high performance scientific computing, in: High Performance Distributed Computing Conference (1999), http://z.ca.sandia.gov/~ccaforum.

  3. R. Bramley, K. Chiu, S. Diwan, D. Gannon, M. Govindaraju, N.Mukhi, B. Temko and M. Yechuri, A component based services architecture for building distributed applications, in: Proceedings of HPDC (2000).

  4. R. Bramley, D. Gannon, T. Stuckey, J. Villacis, J. Balasubramanian, E. Akman, F. Breg, S. Diwan and M. Govindaraju, Component architectures for distributed scientific problem solving, IEEE Computational Science and Engineering 5(2) (1998) 50–63.

    Google Scholar 

  5. R. Bramley, D. Gannon, J. Villacis and A Whitaker, Using the Grid to support software component systems, in: SIAM Conference on Parallel Processing (1999).

  6. The Cactus Code, http://www.cactuscode.org.

  7. Commodity Grid Kits, http://www.globus.org/cog.

  8. The Common Component Architecture Technical Specification, Version 0.5, http://www.cca-forum.org.

  9. Computation Biology Workbench, see http://workbench.sdsc.edu for the current version. The Biology workbench now resides at SDSC.

  10. Object Management Group, The Common Object Request Broker: Architecture and Specification (February 1998), http://www.omg.org/ corba.

  11. Object Management Group, CORBA Components, OMGTCDocument orbos/99-02-95 (March 1999), http://www.omg.org.

  12. K. Czajkowski, S. Fitzgerald, I. Foster and C. Kesselman, Grid information services for distributed resource sharing, in: Proc. 10th IEEE HPDC (August 2001). 336 GANNON ET AL.

  13. DISCOVER: An Interactive Computation Collaboratory for Grid Applications, http://www.computingportals.org/CPdoc/discover.pdf.

  14. The DOE2000 collaboratory project is documented at their web site, http://www-unix.mcs.anl.gov/DOE2000/collabs.html.

  15. The DOE2000 electronic notebook project resources can be found at the following location: http://www.csm.ornl.gov/enote.

  16. Entropia Distributed Computing, http://www.entropia.com.

  17. European Data Grid, http://www.eu-datagrid.org/.

  18. G.C. Fox and D. Gannon, Computational Grids, IEEE Comput. Sci. Eng. 3(4) (2001) 74–77.

    Google Scholar 

  19. G.C. Fox, Portals and frameworks for Web based education and computational science, in: 2nd Int. Conference on Practical Applications of Java, The Practical Application Co., http://www.practicalapplications. co.uk/Proceedings/index.html\#PAJAVA (2000).

  20. G.C. Fox and W. Furmanski, High-performance commodity computing, in: The GRID: Blueprint for a New Computing Infrastructure, eds. I. Foster and C. Kesselman (Morgan-Kaufmann, 1998) ch. 10.

  21. D. Gannon and A. Grimshaw, Object-based approaches, in: The Grid: Blueprint for a New Computing Infrastructure, eds. I. Foster and C. Kesselman (Morgan-Kaufman, 1998) pp. 205-236.

  22. Gateway Computational Portal, http://www.computingportals.org/ CPdoc/Gateway_CP.doc.

  23. Globus, Argonne National Lab, Mathematics and Computer Science Division, http://www.mcs.anl.gov/globus.

  24. GrADS Testbed: Grid application development software project, http://hipersoft.cs.rice.edu.

  25. GridForum Grid Computing Environment working group (www.computingportals.org) survey of existing grid portal projects, www.computingportals.org/cbp.html.

  26. I. Foster and C. Kesselman (Eds.), The Grid: Blueprint for a New Computing Infrastructure (Morgan-Kaufman, 1998).

  27. he Grid Physics Network, http://www.griphyn.org/.

  28. The Grid Security Infrastructure, http://www.globus.org/security.

  29. A. Grimshaw, Legion: A Worldwide Virtual Computer, http://www.cs. virginia.edu/~legion.

  30. K. Jackson, Globus Wrap, http://www.itg.lbl.gov/~kjackson/globus Wrap.

  31. W. Johnston, D. Gannon, B. Nitzberg, A.Woo, B. Thigpen and L. Tanner, Computing and data Grids for science and engineering, in: Proceedings of SC2000.

  32. K. Keahey and D. Gannon, PARDIS: A parallel approach to CORBA, in: Proceedings of the 6th IEEE International Symposium on High Performance Distributed Computation (August 1997).

  33. K. Keahey and D. Gannon, Developing and evaluating abstractions for distributed supercomputing, Journal of Cluster Computing, special issue on High Performance Distributed Computing 1(1) (May 1998).

  34. Microsoft Corporation,.NET, http://www.microsoft.com.

  35. Mississippi Computing Web Portal, http://www.computingportals. org/CPdoc/mcwp.doc.

  36. R. Monoson-Haefel and D. Chappell, Java message service, O'Reilly (2000).

  37. NASA IPG Launch Pad Portal, http:/www.computingportals.org/ Cpdoc/LaunchPad.doc.

  38. Nimrod: A tool for Distributed Parametric Modeling, http://www.csse. monash.edu.au/~davida/nimrod.

  39. A. Oram, Peer-to-Peer: Harnessing the Power of Distributed Technologies (O'Reilly, 2001).

  40. S. Pallickara, A Grid event service, Ph.D. thesis, Syracuse University (2001).

  41. Parabon Computation, http://www.parabon.com.

  42. Particle Physics Data Grid, http://www.ppdg.net/.

  43. Project JXTA, http://www.jxta.org.

  44. The Python Programming Language, see http://www.python.org for complete details.

  45. Simple Object Access Protocol, http://www.w3.org/TR/SOAP.

  46. A. Slominski, M. Govindaraju, D. Gannon and R. Bramley, Design of an XML based interoperable RMI system: SoapRMI, PDPTA (25 June 2001), http://www.extreme.indiana.edu/soap.

  47. San Diego Supercomputer Center, Storage Resource Broker, http:// www.npaci.edu/DICE/SRB/.

  48. A. Thomas, Enterprise JavaBeans Technology: Server Component Model for the Java Platform, http://java.sun.com/products/ejb/ white_paper.html (1998).

  49. M. Thomas, Hot Page, USCD User Portal http://www.computing portals.org/ CPdoc/HotPage.doc.

  50. UDDI: Universal Description, Discover and Integration of Business for the Web, http://www.uddi.org.

  51. J. Villacis, M. Govindaraju, D. Stern, A. Whitaker, F. Breg, P. Deuskar, B. Temko, D. Gannon and R. Bramley, CAT: A high performance, distributed component architecture toolkit for the Grid, in: Proceedings High Performance Distributed Computing Conference (1999).

  52. Web Services Description Language (WSDL) 1.1, W3C, http://www. w3.org/TR/wsdl.

  53. Web Services Flow Language (WSFL), http://www-4.ibm.com/ software/solutions/webservices/pdf/WSFL.pdf.

  54. Web Services Inspection Language (WSIL), http://xml.coverpages. org/IBM-WS-Inspection-Overview.pdf.

  55. R. Wolski, The Network Weather Service, see http://www.npaci.edu/ NWS for details.

  56. The XCAT Science Portal, S. Krishnan, R. Bramley, D. Gannon, M. Govindaraju, R. Indurkar and A. Slominski, in: Proceedings of SC 2001, Denver (November 2001).

  57. The Xport Project, http://www.cs.indiana.edu/ngi/ (3/9/2001).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gannon, D., Bramley, R., Fox, G. et al. Programming the Grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications. Cluster Computing 5, 325–336 (2002). https://doi.org/10.1023/A:1015633507128

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1015633507128

Navigation