Grid Application Programming Environments

  • Thilo Kielmann
  • Andre Merzky
  • Henri Bal
  • Francoise Baude
  • Denis Caromel
  • Fabrice Huet


One challenge of building future grid systems is to provide suitable application programming interfaces and environments. In this chapter, we identify functional and non-functional properties for such environments. We then review three existing systems that have been co-developed by the authors with respect to the identified properties: ProActive, Ibis, and GAT. Apparently, no currently existing system is able to address all properties. However, from our systems, we can derive a generic architecture model for grid application programming environments, suitable for building future systems that will be able to address all the properties and challenges identified.


Grid application programming runtime environments ProActive Ibis GAT 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. Aldinucci, M. Coppola, S. Campa, M. Danelutto, M. Vanneschi, and C. Zoccolo. Structured Iplementation of Component-Based Grid Programming Environments. In: V. Getov, D. Laforenza, A. Reinefeld (Eds.): Future Generation Grids, 217–239, Springer (this volume).Google Scholar
  2. [2]
    W. Allcock, J. Bester, J. Bresnahan, A. Chervenak, L. Liming, S. Meder, and S. Tuecke. GridFTP Protocol Specification. GGF GridFTP Working Group Document, 2002.Google Scholar
  3. [3]
    G. Allen, K. Davis, K. N. Dolkas, N. D. Doulamis, T. Goodale, T. Kielmann, A. Merzky, J. Nabrzyski, J. Pukacki, T. Radke, M. Russell, E. Seidel, J. Shalf, and I. Taylor. Enabling Applications on the Grid-A GridLab Overview. International Journal on High Performance Computing Applications, 17(4):449–466, 2003.CrossRefGoogle Scholar
  4. [4]
    G. Allen, K. Davis, T. Goodale, A. Hutanu, H. Kaiser, T. Kielmann, A. Merzky, R. van Nieuwpoort, A. Reinefeld, F. Schintke, T. Schütt, E. Seidel, and B. Ullmer. The Grid Application Toolkit: Towards Generic and Easy Application Programming Interfaces for the Grid. Proceedings of the IEEE, 93(3):534–550, 2005.CrossRefGoogle Scholar
  5. [5]
    R. M. Badia, J. Labarta, R. Sirvent, J. M. Pérez, J. M. Cela, and R. Grima. Programming Grid Applications with GRID Superscalar. Journal of Grid Computing, 1(2): 151–170, 2003.CrossRefGoogle Scholar
  6. [6]
    L. Baduel, F. Baude, and D. Caromel. Object-Oriented SPMD. In CCGrid 2005, 2005.Google Scholar
  7. [7]
    H.E. Bal, J.G. Steiner, and A.S. Tanenbaum. Programming Languages for Distributed Computing Systems. ACM Computing Surveys, 21(3):261–322, 1989.CrossRefGoogle Scholar
  8. [8]
    C. Baru, R. Moore, A. Rajasekar, and M. Wan. The sdsc storage resource broker. In CASCON’ 98: Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research, page 5. IBM Press, 1998.Google Scholar
  9. [9]
    F. Baude, D. Caromel, F. Huet, L. Mestre, and J. Vayssière. Interactive and Descriptor-Based Deployment of Object-Oriented Grid Applications. In HPDC-11, pages 93–102. IEEE Computer Society, July 2002.Google Scholar
  10. [10]
    F. Baude, D. Caromel, and M. Morel. From distributed objects to hierarchical grid components. In DOA, volume 2888, pages 1226–1242. LNCS, 2003.Google Scholar
  11. [11]
    M. Beck, J. Dongarra, J. Huang, T. Moore, and J. Plank. Active Logistical State Management in the GridSolve/L. In Proc. 4th International Symposium on Cluster Computing and the Grid (CCGrid 2004), 2004.Google Scholar
  12. [12]
    R. Berlich, M. Kunze, and K. Schwarz. Grid Computing in Europe: From Research to Deployment. CRPIT series, Proceedings of the Australasian Workshop on Grid Computing and e-Research (AusGrid 2005), 44, Jan. 2005.Google Scholar
  13. [13]
    J. M. Brooke, P. V. Coveney, J. Harting, S. Jha, S. M. Pickles, R. L. Pinning, and A. R. Porter. Computational Steering in RealityGrid. In Proceedings of the UK e-Science All Hands Meeting 2003, 2003.Google Scholar
  14. [14]
    D. Caromel. Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM, 36(9):90–102, September 1993.CrossRefGoogle Scholar
  15. [15]
    B. Carpenter, V. Getov, G. Judd, A. Skjellum, and G. Fox. MPJ: MPI-like message passing for Java. Concurency: Practice and Experience, 12(11): 1019–1038, 2000.zbMATHCrossRefGoogle Scholar
  16. [16]
    G. Coulson, P. Grace, P. Blair, et al. Component-based Middleware Framework for Configurable and Reconfigurable Grid Computing. To appear in Concurrency and Computation: Practice and Experience, 2005.Google Scholar
  17. [17]
    A. Denis, O. Aumage, R. Hofman, K. Verstoep, T. Kielmann, and H. E. Bal. Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems. In Proc.HPDC-13, pages 97–106, 2004.Google Scholar
  18. [18]
    D. Erwin (Ed.) Joint Project Report for the BMBF Project UNICORE Plus. UNICORE Forum e.V., 2003.Google Scholar
  19. [19]
    I. Foster and N. T. Karonis. A grid-enabled mpi: message passing in heterogeneous distributed computing systems. In Supercomputing’ 98: Proceedings of the 1998 ACM/IEEE conference on Supercomputing, pages 1–11. IEEE Computer Society, 1998.Google Scholar
  20. [20]
    J. Frey, T. Tannenbaum, M. Livny, I. Foster, and S. Tuecke. Condor-g: A computation management agent for multi-institutional grids. Cluster Computing, 5(3):237–246, 2002.CrossRefGoogle Scholar
  21. [21]
    N. Furmento, A. Mayer, S. McGough, S. Newhouse, T. Field, and J. Darlington. ICENI: Optimisation of Component Applications within a Grid Environment. Parallel Computing, 28(12), 2002.Google Scholar
  22. [22]
    The Global Grid Forum (GGF). Scholar
  23. [23]
    W. Hoschek, J. Jaen-Martinez, A. Samar, H. Stockinger, and K. Stockinger. Data Management in an International Data Grid Project. In Proc. IEEE/ACM International Workshop on Grid Computing (Grid’2000), 2000.Google Scholar
  24. [24]
    F. Huet, D. Caromel, and H. E. Bal. A High Performance Java Middleware with a Real Application. In SuperComputing 2004, 2004.Google Scholar
  25. [25]
    N. Karonis, B. Toonen, and I. Foster. MPICH-G2: A Grid-Enabled Implementation of the Message Passing Interface. Journal of Parallel and Distributed Computing, 2003.Google Scholar
  26. [26]
    R. Keller, E. Gabriel, B. Krammer, M. S. Müller, and M. M. Resch. Towards efficient execution of MPI applications on the Grid: porting and optimization issues. Journal of Grid Computing, 1(2):133–149, 2003.CrossRefGoogle Scholar
  27. [27]
    T. Kielmann, R. F. H. Hofman, H. E. Bal, A. Plaat, and R. A. F. Bhoedjang. MagPIe: MPI’s Collective Communication Operations for Clustered Wide Area Systems. In Proc. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP’99), pages 131–140, 1999.Google Scholar
  28. [28]
    J. Maassen, T. Kielmann, and H. E. Bal. Parallel Application Experience with Replicated Method Invocation. Concurrency and Computation: Practice and Experience, 13(8–9):681–712, 2001.zbMATHCrossRefGoogle Scholar
  29. [29]
    J. Maassen, T. Kielmann, and H. E. Bal. GMI: Flexible and Efficient Group Method Invocation for Parallel Programming. In Proc. LCR’ 02: Sixth Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers, Washington, DC, 2002. To be published in LNCS.Google Scholar
  30. [30]
    Message Passing Interface Forum. MPI: A Message Passing Interface Standard. International Journal of Supercomputing Applications, 8(3/4), 1994.Google Scholar
  31. [31]
    A. Nelisse, J. Maassen, T. Kielmann, and H. E. Bal. CCJ: Object-based Message Passing and Collective Communication in Java. Concurrency and Computation: Practice and Experience, 15(3–5):341–369, 2003.zbMATHCrossRefGoogle Scholar
  32. [32]
    J. Novotny, M. Russell, and O. Wehrens. GridSphere: A Portal Framework for Building Collaborations. In 1st International Workshop on Middleware for Grid Computing, Rio de Janeiro, 2003.Google Scholar
  33. [33]
    J. M. Schopf, J. Nabrzyski, and J. Weglarz, editors. Grid resource management: state of the art and future trends. Kluwer, 2004.Google Scholar
  34. [34]
    H. Sivakumar, S. Bailey, and R. L. Grossman. PSockets: The Case for Application-level Network Striping for Data Intensive Applications using High Speed Wide Area Networks. In Proc. Supercomputing (SC2000), 2000.Google Scholar
  35. [35]
    O. Smirnova, P. Eerola, T. Ekelof, M. Elbert, J.R. Hansen, A. Konstantinov, B. Konya, J.L. Nielsen, F. Ould-Saada, and A. Waananen. The NorduGrid Architecture and Middleware for Scientific Applications. In ICCS 2003, number 2657 in LNCS. Springer-Verlag, 2003.Google Scholar
  36. [36]
    Y. Tanaka, H. Nakada, S. Sekiguchi, T. Suzumura, and S. Matsuoka. Ninf-G: A Reference Implementation of RPC-based Programming Middleware for Grid Computing. Journal of Grid Computing, 1(1):41–51, 2003.zbMATHCrossRefGoogle Scholar
  37. [37]
    I. Taylor, M. Shields, I. Wang, and O. Rana. Triana Applications within Grid Computing and Peer to Peer Environments. Journal of Grid Computing, 1(2):199–217, 2003.CrossRefGoogle Scholar
  38. [38]
    The GEO600 project. Scholar
  39. [39]
    The Globus Alliance. Scholar
  40. [40]
    J. Thiyagalingam, S. Isaiadis, and V. Getov. Towards Building a Generic Grid Services Platform: a component-oriented approach. In V. Getov and T. Kielmann, editors, Component Models and Systems for Grid Applications. Springer Verlag, 2005.Google Scholar
  41. [41]
    R. V. van Nieuwpoort, T. Kielmann, and H.E. Bal. Efficient Load Balancing for Wide-area Divide-and-Conquer Applications. In Proc. PPoPP’ 01: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 34–43, 2001.Google Scholar
  42. [42]
    R. V. van Nieuwpoort, J. Maassen, G. Wrzesinska, R. Hofman, C. Jacobs, T. Kielmann, and H. E. Bal. Ibis: a Flexible and Efficient Java-based Grid Programming Environment. Concurrency and Computation: Practice and Experience, 17(7–8): 1079–1107, 2005.CrossRefGoogle Scholar
  43. [43]
    R. V. van Nieuwpoort, J. Maassen, G. Wrzesinska, T. Kielmann, and H. E. Bal. Adaptive Load Balancing for Divide-and-Conquer Grid Applications. Journal of Supercomputing, accepted for publication, 2004.Google Scholar
  44. [44]
    G. von Laszewski, I. Foster, J. Gawor, and P. Lane. A Java Commodity Grid Kit. Concurrency and Computation: Practice and Experience, 13(8–9):643–662, 2001.Google Scholar
  45. [45]
    G. Wrzesinska, R. V. van Nieuwpoort, J. Maassen, and H. E. Bal. Fault-tolerance, Malleability and Migration for Divide-and-Conquer Applications on the Grid. In 19th International Parallel and Distributed Processing Symposium (IPDPS 2005), Denver, USA, 2005.Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2006

Authors and Affiliations

  • Thilo Kielmann
    • 1
  • Andre Merzky
    • 1
  • Henri Bal
    • 1
  • Francoise Baude
    • 2
  • Denis Caromel
    • 2
  • Fabrice Huet
    • 2
  1. 1.Vrije UniversiteitAmsterdamThe Netherlands
  2. 2.INRIA, I3S-CNRS, UNSA Sophia AntipolisFrance

Personalised recommendations