Cluster Computing

, Volume 5, Issue 3, pp 325–336 | Cite as

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

  • Dennis Gannon
  • Randall Bramley
  • Geoffrey Fox
  • Shava Smallen
  • Al Rossi
  • Rachana Ananthakrishnan
  • Felipe Bertrand
  • Ken Chiu
  • Matt Farrellee
  • Madhu Govindaraju
  • Sriram Krishnan
  • Lavanya Ramakrishnan
  • Yogesh Simmhan
  • Alek Slominski
  • Yu Ma
  • Caroline Olariu
  • Nicolas Rey-Cenvaz


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.

Grid programming software components distributed computing Web services portals 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [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.Google Scholar
  2. [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), Scholar
  3. [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).Google Scholar
  4. [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. [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).Google Scholar
  6. [6]
    The Cactus Code, Scholar
  7. [7]
    Commodity Grid Kits, Scholar
  8. [8]
    The Common Component Architecture Technical Specification, Version 0.5, Scholar
  9. [9]
    Computation Biology Workbench, see for the current version. The Biology workbench now resides at SDSC.Google Scholar
  10. [10]
    Object Management Group, The Common Object Request Broker: Architecture and Specification (February 1998), corba.Google Scholar
  11. [11]
    Object Management Group, CORBA Components, OMGTCDocument orbos/99-02-95 (March 1999), Scholar
  12. [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.Google Scholar
  13. [13]
    DISCOVER: An Interactive Computation Collaboratory for Grid Applications, Scholar
  14. [14]
    The DOE2000 collaboratory project is documented at their web site, Scholar
  15. [15]
    The DOE2000 electronic notebook project resources can be found at the following location: Scholar
  16. [16]
    Entropia Distributed Computing, Scholar
  17. [17]
    European Data Grid, Scholar
  18. [18]
    G.C. Fox and D. Gannon, Computational Grids, IEEE Comput. Sci. Eng. 3(4) (2001) 74–77.Google Scholar
  19. [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.\#PAJAVA (2000).Google Scholar
  20. [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.Google Scholar
  21. [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.Google Scholar
  22. [22]
    Gateway Computational Portal, CPdoc/Gateway_CP.doc.Google Scholar
  23. [23]
    Globus, Argonne National Lab, Mathematics and Computer Science Division, Scholar
  24. [24]
    GrADS Testbed: Grid application development software project, Scholar
  25. [25]
    GridForum Grid Computing Environment working group ( survey of existing grid portal projects, Scholar
  26. [26]
    I. Foster and C. Kesselman (Eds.), The Grid: Blueprint for a New Computing Infrastructure (Morgan-Kaufman, 1998).Google Scholar
  27. [27]
    he Grid Physics Network, Scholar
  28. [28]
    The Grid Security Infrastructure, Scholar
  29. [29]
    A. Grimshaw, Legion: A Worldwide Virtual Computer, http://www.cs. Scholar
  30. [30]
    K. Jackson, Globus Wrap, Wrap.Google Scholar
  31. [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.Google Scholar
  32. [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).Google Scholar
  33. [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).Google Scholar
  34. [34]
    Microsoft Corporation,.NET, Scholar
  35. [35]
    Mississippi Computing Web Portal, http://www.computingportals. org/CPdoc/mcwp.doc.Google Scholar
  36. [36]
    R. Monoson-Haefel and D. Chappell, Java message service, O'Reilly (2000).Google Scholar
  37. [37]
    NASA IPG Launch Pad Portal, http:/ Cpdoc/LaunchPad.doc.Google Scholar
  38. [38]
    Nimrod: A tool for Distributed Parametric Modeling, http://www.csse. Scholar
  39. [39]
    A. Oram, Peer-to-Peer: Harnessing the Power of Distributed Technologies (O'Reilly, 2001).Google Scholar
  40. [40]
    S. Pallickara, A Grid event service, Ph.D. thesis, Syracuse University (2001).Google Scholar
  41. [41]
    Parabon Computation, Scholar
  42. [42]
    Particle Physics Data Grid, Scholar
  43. [43]
    Project JXTA, Scholar
  44. [44]
    The Python Programming Language, see for complete details.Google Scholar
  45. [45]
    Simple Object Access Protocol, Scholar
  46. [46]
    A. Slominski, M. Govindaraju, D. Gannon and R. Bramley, Design of an XML based interoperable RMI system: SoapRMI, PDPTA (25 June 2001), Scholar
  47. [47]
    San Diego Supercomputer Center, Storage Resource Broker, http:// Scholar
  48. [48]
    A. Thomas, Enterprise JavaBeans Technology: Server Component Model for the Java Platform, white_paper.html (1998).Google Scholar
  49. [49]
    M. Thomas, Hot Page, USCD User Portal http://www.computing CPdoc/HotPage.doc.Google Scholar
  50. [50]
    UDDI: Universal Description, Discover and Integration of Business for the Web, Scholar
  51. [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).Google Scholar
  52. [52]
    Web Services Description Language (WSDL) 1.1, W3C, http://www. Scholar
  53. [53]
    Web Services Flow Language (WSFL), software/solutions/webservices/pdf/WSFL.pdf.Google Scholar
  54. [54]
    Web Services Inspection Language (WSIL), http://xml.coverpages. org/IBM-WS-Inspection-Overview.pdf.Google Scholar
  55. [55]
    R. Wolski, The Network Weather Service, see NWS for details.Google Scholar
  56. [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).Google Scholar
  57. [57]
    The Xport Project, (3/9/2001).Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Dennis Gannon
    • 1
  • Randall Bramley
    • 1
  • Geoffrey Fox
    • 1
  • Shava Smallen
    • 1
  • Al Rossi
    • 1
  • Rachana Ananthakrishnan
    • 1
  • Felipe Bertrand
    • 1
  • Ken Chiu
    • 1
  • Matt Farrellee
    • 1
  • Madhu Govindaraju
    • 1
  • Sriram Krishnan
    • 1
  • Lavanya Ramakrishnan
    • 1
  • Yogesh Simmhan
    • 1
  • Alek Slominski
    • 1
  • Yu Ma
    • 1
  • Caroline Olariu
    • 1
  • Nicolas Rey-Cenvaz
    • 1
  1. 1.Department of Computer ScienceIndiana UniversityUSA

Personalised recommendations