Advertisement

International Journal of Parallel Programming

, Volume 35, Issue 6, pp 573–614 | Cite as

Asynchronous Typed Object Groups for Grid Programming

  • Laurent BaduelEmail author
  • Françoise Baude
  • Denis Caromel
Article

This article presents an object-oriented mechanism to achieve group communication in large scale grids. Group communication is a crucial feature for high-performance and grid computing. While previous work on collective communications imposed the use of dedicated interfaces, we propose a scheme where one can initiate group communications using the standard public methods of the class by instantiating objects through a special object factory. The object factory utilizes casting and introspection to construct a “parallel processing enhanced” implementation of the object which matches the original class’ interface. This mechanism is then extended in an evolution of the classical SPMD programming paradigm into the domain of clusters and grids named “Object-Oriented SPMD”. OOSPMD provides interprocess (inter-object) communications via transparent remote method invocations rather than custom interfaces. Such typed group communication constitutes a basis for improvement of component models allowing advanced composition of parallel building blocks. The typed group pattern leads to an interesting, uniform, and complete model for programming applications intended to be run on clusters and grids.

Keywords

Java middleware Group communication object-oriented parallelism SPMD programming 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The Globus Project, http://www.globus.org.Google Scholar
  2. 2.
    Natrajan A., Nguyen-Tuong A., Humphrey M.A., Grimshaw A.S. (2002) The Legion Grid Portal. Concurrency and Computation: ractice and Experience 14(13–15):1365–1394zbMATHCrossRefGoogle Scholar
  3. 3.
    Unicore, http://unicore.sourceforge.net.Google Scholar
  4. 4.
    J. Frey, T. Tannenbaum, M. Livny, I. Foster, and S. Tuecke, Condor-G: A Computation Management Agent for Multi-Institutional Grids, in Proceedings of the 10th International Symposium on High Performance Distributed Computing (HPDC-10’01). San Francisco, California, USA: IEEE Computer Society, pp. 55–63 (Aug. 2001).Google Scholar
  5. 5.
    M. D. Santo, N. Ranaldo, and E. Zimeo, A Broker Architecture for Object-Oriented Master/Slave Computing in a Hierarchical Grid System, in Proceedings of Parallel Computing, Dresden, Germany (Sept. 2003).Google Scholar
  6. 6.
    Gorlatch S. (2004) Send-receive Considered Harmful: Myths and Realities of message passing. ACM Transaction on Programming Languages and Systems 26(1):47–56CrossRefGoogle Scholar
  7. 7.
    K. Jeacle, and J. Crowcroft, Reliable High-Speed Grid Data Delivery Using IP Multicast, in Proceedings of the UK e-Science All-Hands Meeting, Nottingham, United Kingdom (Sept. 2003).Google Scholar
  8. 8.
    M. Maimour, and C. Pham, An Active Reliable Multicast Framework for the Grids, in Proceedings of the International Conference on Computational Science, Amsterdam, The Netherlands, pp. 588–597 (Apr. 2002).Google Scholar
  9. 9.
    Java Remote Method Invocation Specication, Sun Microsystems (Oct. 1998) ftp://ftp.javasoft.com/docs/jdk1.2/rmi-spec-JDK1.2.pdf.Google Scholar
  10. 10.
    Birell A.D., Nelson B.J. (1984) Implementing Remote Procedure Calls. ACM Transactions on Computer Systems 2(1):39–59CrossRefGoogle Scholar
  11. 11.
    S. Maffeis, The Object Group Design Pattern, in Proceedings of the Second USENIX Conference on Object-Oriented Technologies, Toronto, Canada (June 1996).Google Scholar
  12. 12.
    J. Maassen, Method Invocation Based Communication Models for Parallel Programming in Java, Ph.D. dissertation, Vrije Universiteit, Amsterdam, The Netherlands (June 2003).Google Scholar
  13. 13.
    Grimshaw A.S., Strayer W.T., Narayan P. (1993) Dynamic Object-Oriented Parallel Processing. IEEE Parallel & Distributed Technology: Systems & Applications 1(2):33–47CrossRefGoogle Scholar
  14. 14.
    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 Minitrack in the the 37th Hawaii International Conference on System Sciences (HICSS-37), Hawaii, USA 2004, IEEE Computer Society Press, (2004).Google Scholar
  15. 15.
    ProActive, http://www-sop.inria.fr/oasis/ProActive.Google Scholar
  16. 16.
    L. Baduel, D. Caromel, N. Ranaldo, and E. Zimeo Effective and Efficient Communication in Grid Computing with an Extension of ProActive Groups, in Proceedings of the Java for Parallel and Distributed Computing Workshop at IPDPS (2005).Google Scholar
  17. 17.
    Caromel D. (1993) Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM 36(19):90–102CrossRefGoogle Scholar
  18. 18.
    F. Baude, D. Caromel, F. Huet, L. Mestre, and J. Vayssiere, Interactive and Descriptor-Based Deployment of Object-Oriented Grid Applications, in 11th IEEE International Symposium on High Performance Distributed Computing (HPDC), Edinburgh, Scotland: IEEE Computer Society pp. 93–102 (July 2002).Google Scholar
  19. 19.
    V. Felea and B. Toursel, Methodology for Java Distributed and Parallel Programming Using Distributed Collections, in Proceedings of the Workshop on Java for Parallel and Distributed Computing at IPDPS, Fort Lauderdale, Florida, USA (Apr. 2002).Google Scholar
  20. 20.
    A. Nelisse, T. Kielmann, H. E. Bal, and J. Maassen, Object-based Collective Communication in Java, in Joint ACM Java Grande - ISCOPE Conference. Palo Alto, California, USA: ACM Press, pp. 11–20, (June 2001) iSBN 1–58113-359-6.Google Scholar
  21. 21.
    L. Baduel, F. Baude and D. Caromel, Efficient, Flexible, and Typed Group Communications in Java, in Joint ACM Java Grande - ISCOPE Conference, Seattle, Waghington, USA: ACM Press, pp. 28–36 (Nov. 2002).Google Scholar
  22. 22.
    J. M. Squyres, B. C. McCandless, and A. Lumsdaine, Object Oriented MPI: A Class Library for the Message Passing Interface, in Proceedings of the POOMA conference, Santa Fe, New Mexico, USA (Feb. 1996).Google Scholar
  23. 23.
    M. Baker, B. Carpenter, G. Fox, S. H. Ko, and S. Lim, mpiJava: An Object-Oriented Java interface toMPI, in International Workshop on Java for Parallel and Distributed Computing, IPPS/SPDP, San Juan, Puerto Rico (Apr. 1999).Google Scholar
  24. 24.
    S. Mintchev and V. Getov, Towards Portable Message Passing in Java: Binding MPI, in Recent Advances in PVM and MPI, Ser. LNCS, no. 1332, Springer Verlag (1997).Google Scholar
  25. 25.
    Judd G., Clement M., Snell Q. (1998) DOGMA: Distributed Object Group Metacomputing Architecture. Concurrency: Practice and Experience 10(11–13):977–983CrossRefGoogle Scholar
  26. 26.
    Carpenter B., Getov V., Judd G., Skjellum A., Fox G. (2000) MPJ:MPI-like Message Passing for Java. Concurrency: Practice and Experience 12(11):1019–1038zbMATHCrossRefGoogle Scholar
  27. 27.
    J. Maassen, T. Kielmann, and H. E. Bal, GMI: Flexible and Efficient Group Method Invocation for Parallel Programming, in Sixth Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers (LCR’02), Washington D.C., USA (Mar. 2002).Google Scholar
  28. 28.
    L. Baduel, F. Baude, D. Caromel, C. Delbé, S. ElKasmi, N. Gama, and S. Lanteri, A Parallel Object-Oriented Application for 3D Electromagnetism, in Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS), Santa Fe, NewMexico, USA: IEEE Computer Society (Apr. 2004).Google Scholar
  29. 29.
    F. Huet, D. Caromel, and H. E. Bal, A High Performance JavaMiddleware with a Real Application, in Proceedings of the Supercomputing conference, Pittsburgh, Pensylvania, USA (Nov. 2004).Google Scholar
  30. 30.
    L. Baduel, F. Baude, and D. Caromel, Object-Oriented SPMD, in CCGrid 2005: IEEE International Symposium on Cluster Computing and the Grid, Cardiff, United Kingdom (May 2005).Google Scholar
  31. 31.
    NetSolve, http://icl.cs.utk.edu/netsolve.Google Scholar
  32. 32.
    Ninf-G, http://ninf.apgrid.org.Google Scholar
  33. 33.
    Piperno S., Remaki M., Fezoui L., (2002) A Nondiffusive Finite Volume Scheme for the Three-Dimensional Maxwell’s Equations on Unstructured Meshes. SIAM Journal on Numerical Analysis 39(6):2089–2108zbMATHCrossRefMathSciNetGoogle Scholar
  34. 34.
    J. Hull. Options, Futures and Other Derivatives. Prentice Hall (2005).Google Scholar
  35. 35.
    S. Bezzine, V. Galtier, S. Vialle, F. Baude, M. Bossy, V-D. Doan, and L. Henrio. “A Fault-Tolerant and Multi-Paradigm Grid Architecture for Time Constrained Problems. Application to Option Pricing in Finance in 2nd IEEE Int. Conference on e-Science and Grid Computing (December 2006).Google Scholar
  36. 36.
    R. Schmidt, M. Head, M. Govindaraju, M. Lewis, and S. Benkner, Design and Implementation Choices for Implementing Distributed CCA Frameworks in HPC–GECo/Compframe Joint Workshop at the 15th High Performance Distributed Computing conference (HPDC-15’06), Paris, France: IEEE Computer Society (June 2006).Google Scholar
  37. 37.
    The Fractal Project, http://fractal.objectweb.org.Google Scholar
  38. 38.
    E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani. The Fractal Component Model and Its Support in Java, in Software Practice and Experience, Special Issue on Experiences with Auto-adaptive and Reconfigurable Systems, Vol. 36, pp. 11–12 (2006).Google Scholar
  39. 39.
    F. Baude, D. Caromel, and M. Morel, From Distributed Objects to Hierarchical Grid Components, in International Symposium on Distributed Objects and Applications (DOA), ser. LNCS, no. 2888. Springer Verlag, pp. 1226–1242 (2003).Google Scholar
  40. 40.
    Pérez C., Priol T., Ribes A. (2003) A Parallel CORBA Component Model for Numerical Code Coupling. International Journal of High Performance Computing Applications 17(4):417–429CrossRefGoogle Scholar
  41. 41.
    M. Aldinucci, S. Campa, M. Coppola, M. Danelutto, D. Laforenza, D. Puppin, L. Scarponi, M. Vanneschi, and C. Zoccolo, Components for High Performance Grid programming in the Grid.it Project, in Component Models and Systems for Grid Applications, V. Getov and T. Kielmann, eds, Springer, 2005, revised versions of the communications made at the Workshop on Component Models and Systems for Grid Applications at ACM International Conference on Supercomputing (June 2004).Google Scholar
  42. 42.
    Proposals for a Grid Component Model, CoreGRID, Programming Model Institute, Tech. Rep. D.PM.02, Nov 2005, www.ercim.org/bscw/bscw.cgi/d98179/D.PM.02.pdf.Google Scholar
  43. 43.
    F. Bertrand, D. Bernholdt, R. Bramley, K. Damevski, J. Kohl, J. Larson, and A. Sussman, Data Redistribution and Remote Method Invocation in Parallel Component Architecture, in 19th International Parallel and Distributed Processing Symposium (IPDPS’05) (Apr. 2005).Google Scholar
  44. 44.
    Matthieu Morel Components for Grid computing. PhD Thesis. Univ. of Nice Sophia-Antipolis (Nov. 2006).Google Scholar
  45. 45.
    A. Mayer, S. McGough, M. Gulamali, L. Young, J. Stanton, S. Newhouse, and J. Darlington, ‘Meaning and Behaviour in Grid Oriented Components,’ in 3rd International Workshop on Grid Computing at Grid2002, Baltimore, Maryland, USA, pp. 100–111 (Nov. 2002) volume 2536 of LNCS.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  • Laurent Baduel
    • 1
    Email author
  • Françoise Baude
    • 1
  • Denis Caromel
    • 1
  1. 1.INRIA – I3S CNRSUniversity of Nice Sophia-AntipolisSophia-Antipolis CedexFrance

Personalised recommendations