Advertisement

Components for High-Performance Grid Programming in Grid.IT

  • Marco Aldinucci
  • Sonia Campa
  • Massimo Coppola
  • Marco Danelutto
  • Domenico Laforenza
  • Diego Puppin
  • Luca Scarponi
  • Marco Vanneschi
  • Corrado Zoccolo

Abstract

This chapter presents the main ideas of the high-performance component-based Grid programming environment of the Grid.it project. High-performance components are characterized by a programming model that integrates the concepts of structured parallelism, component interaction, compositionality, and adaptivity. We show that ASSIST, the prototype of parallel programming environment currently under development at our group, is a suitable basis to capture all the desired features of the component model in a flexible and efficient manner. For the sake of interoperability, ASSIST modules or programs are automatically encapsulated in standard frameworks; currently, we are experimenting Web Services and the CORBA Component Model. Grid applications, built as compositions of ASSIST components and possibly other existing (legacy) components, are supported by an innovative Grid Abstract Machine, that includes essential abstractions of standard middleware services and a hierarchical Application Manager (AM). AM supports static allocation and dynamic reallocation of adaptive applications according to a performance contract, a reconfiguration strategy, and a performance model.

Keywords

structured parallel programming programming models adaptive applications high performance computing reconfiguration 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    M. Aldinucci, S. Campa, P. Ciullo, M. Coppola, S. Magini, P. Pesciullesi, L. Potiti, R. Ravazzolo, M. Torquati, M. Vanneschi, and C. Zoccolo. The implementation of ASSIST, an Environment for Parallel and Distributed Programming. In Euro-Par 2003 Parallel Processing, LNCS, 2790:712–721, Springer, August 2003.Google Scholar
  2. [2]
    M. Aldinucci, M. Coppola, M. Danelutto, M. Vanneschi, and C. Zoccolo. ASSIST as a Research Framework for High-performance Grid Programming Environments. Technical Report TR-04-09, Dept. Computer Science-University of Pisa, February 2004. TR-04-09 available at http://www.di.unipi.it/Ricerca/TR.Google Scholar
  3. [3]
    M. Aldinucci, M. Danelutto, and P. Teti. An advanced environment supporting structured parallel programming in Java. Future Generation Computer Systems, 19(5):611–626, 2003.CrossRefGoogle Scholar
  4. [4]
    P. Au, J. Darlington, M. Ghanem, Y. Guo, H.W. To, and J. Yang. Co-ordinating heterogeneous parallel computation. In L. Bouge, P. Fraigniaud, A. Mignotte, and Y. Robert, editors, Europar’ 96, pages 601–614. Springer, 1996.Google Scholar
  5. [5]
    B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P3L: A Structured High level programming language and its structured support. Concurrency Practice and Experience, 7(3):225–255, May 1995.Google Scholar
  6. [6]
    B. Bacci, M. Danelutto, S. Pelagatti, and M. Vanneschi. SklE: a heterogeneous environment for HPC applications. Parallel Computing, 25:1827–1852, December 1999.Google Scholar
  7. [7]
    F. Baude, D. Caromel, and M. Morel. On hierarchical, parallel and distributed components for Grid programming. In: Component Models and Systemsfor Grid Applications, pp. 97–108, Springer, 2004.Google Scholar
  8. [8]
    F. Berman, R. Wolski, H. Casanova, et al. Adaptive Computing on the Grid using AppLeS. IEEE Trans. On Parallel and Distributed Systems, 14(5), 2003.Google Scholar
  9. [9]
    E. Bruneton, T. Coupaye, and J. B. Stefani. Recursive and Dynamic Software Composition with Sharing. In 7th International Workshop on Component-Oriented Programming (WCOP02), ECOOP 2002, Malaga, Spain, June 2002.Google Scholar
  10. [10]
    CCA working group. The common component architecture technical specification-version 0.5 (as amended through 3/5/2001). http://www.cca-forum.org.Google Scholar
  11. [11]
    Ccaffeine home page, 2003. http://www.cca-forum.org/ccafe/.Google Scholar
  12. [12]
    M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computations. Research Monographs in Parallel and Distributed Computing. Pitman, 1989.Google Scholar
  13. [13]
    M. Cole. Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming, Parallel Computing, 30(3):389–406, 2004.CrossRefGoogle Scholar
  14. [14]
    H. Dail, O. Sievert, F. Berman, H. Casanova, A. YarKhan, S. Vadhiyar, J. Dongarra, C. Liu, L. Yang, D. Angulo, and I. Foster. Scheduling in the Grid Application Development Software Project. In: Grid Resource Management: State of the Art and Future Trends, pp. 73–98, Kluwer, 2003.Google Scholar
  15. [15]
    M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A methodology for the development and support of massively parallel programs. Future Generation Computer Systems, 8(1–3):205–220, July 1992.Google Scholar
  16. [16]
    A. Denis, C. Pérez, T. Priol, and A. Ribes. Bringing High Performance to the CORBA Component Model. In SIAM Conference on Parallel Processing for Scientific Computing, February 2004.Google Scholar
  17. [17]
    B. Ensink, J. Stanley, and V. Adve. Program Control Language: a programming language for adaptive distributed applications. Journal of Parallel and Distributed Computing, 63(11): 1082–1104, 2003.CrossRefGoogle Scholar
  18. [18]
    I. Foster and C. Kesselman, editors. The Grid: Blueprint for a New Computing Infrastructure, chapter 11, The Globus toolkit. Morgan Kaufmann Pub., S.Francisco, CA, 1998.Google Scholar
  19. [19]
    I. Foster, C. Kesselman, J.M. Nick, and S. Tuecke. Grid Services for Distributed System Integration. Computer, 35(6): 37–46, June 2002.CrossRefGoogle Scholar
  20. [20]
    Grid.it project: Enabling platforms for high-performance computational grid oriented to scalable virtual organizations. MIUR, FIRB National Research Programme, November 2002, http://www.grid.it.Google Scholar
  21. [21]
    K. Kennedy, M. Mazina, J. Mellor-Crummey, K. Cooper, L. Torczon, F. Berman, A. Chien, H. Dail, O. Sievert, D. Angulo, I. Foster, D. Gannon, L. Johnsson, C. Kesselman, R. Aydt, D. Reed, J. Dongarra, S. Vadhiyar, and R. Wolski. Toward a Framework for Preparing and Executing Adaptive Grid Programs. In Proc. of NSF Next Generation Systems Program Workshop (IPDPS 2002), 2002.Google Scholar
  22. [22]
    H. Kuchen. A Skeleton Library. In Euro-Par 2002, Parallel Processing, LNCS, 2400:620–629, Springer, August 2002.Google Scholar
  23. [23]
    S. MacDonald, J. Anvik, S. Bromling, J. Schaeffer, D. Szafron, and K. Taa. From Patterns to Frameworks to Parallel Programs. Parallel Computing, 28(12): 1663–1684, December 2002.CrossRefGoogle Scholar
  24. [24]
    Object Management Group. The Common Object Request Broker: Architecture and Specification, Minor revision 2.4.1, http://www.omg.org, 2000.Google Scholar
  25. [25]
    Object Management Group. Corba Component Model, v3.0, November 2001. Document ptc/2001-11-03, available at http://www.omg.org/.Google Scholar
  26. [26]
    C. Pérez, T. Priol, and A. Ribes. PaCO++: a parallel object model for high performance distributed systems. In Distributed Object and Component-based Software Systems, Hawaii Int. Conf. System Sciences, IEEEComp. Soc., 2004.Google Scholar
  27. [27]
    T. Priol. Programming the Grid with Distributed Objects. In Proc. of Workshop on Performance Analysis and Distributed Computing (PACD 2002), 2002.Google Scholar
  28. [28]
    L. Scarponi. Supporti alla programmazione Grid-aware —Esperienze di allocazione dinamica di programmi ASSIST (Grid-aware programming support: experiments in dynamic program allocation with ASSIST). Master’s thesis, University of Pisa, April 2004, (in Italian).Google Scholar
  29. [29]
    Sun. Javabeans home page. http://java.sun.com/products/javabeans, 2003.Google Scholar
  30. [30]
    D. Thain, T. Tannenbaum, and M. Livny. Grid Computing: Making the Global Infrastructure a Reality, chapter Condor and the Grid. Wiley, 2003.Google Scholar
  31. [31]
    M. Vanneschi. The programming model of ASSIST, an environment for parallel and distributed portable applications. Parallel Computing, 28(12):1709–1732, December 2002.CrossRefzbMATHGoogle Scholar
  32. [32]
    R. van Nieuwpoort, J. Maassen, R. Hofman, T. Kielmann, and Henri Bal. Ibis: an Efficient Java-based Grid Programming Environment. In ACM JavaGrande ISCOPE 2002 Conference, pp. 18–27 Seattle, WA, November 2002.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2005

Authors and Affiliations

  • Marco Aldinucci
    • 1
  • Sonia Campa
    • 2
  • Massimo Coppola
    • 1
  • Marco Danelutto
    • 2
  • Domenico Laforenza
    • 1
  • Diego Puppin
    • 1
    • 2
  • Luca Scarponi
    • 2
  • Marco Vanneschi
    • 2
  • Corrado Zoccolo
    • 2
  1. 1.Istituto di Scienzae Tecnologie dell’Informazione, ISTI-CNRPisaItaly
  2. 2.Dept. of Computer ScienceUniversity of PisaPisaItaly

Personalised recommendations