Optimization Techniques for Implementing Parallel Skeletons in Grid Environments

Skeletons are common patterns of parallelism such as farm and pipeline that can be abstracted and offered to the application programmer as programming primitives. We describe the use and implementation of skeletons in a distributed computation environment, with the Java-based system Lithium as our reference implementation. Our main contribution is optimization techniques based on an asynchronous, optimized RMI interaction mechanism, which we integrated into the macro data flow (MDF) evaluation technology of Lithium. In detail, we show three different optimizations: 1) a lookahead mechanism that allows to process multiple tasks concurrently at each single server and thereby increases the overall degree of parallelism, 2) a lazy task-binding technique that reduces interactions between remote servers and the task dispatcher, and 3) dynamic improvements based on process monitoring that optimize the collection of results and the work-load balancing. We report experimental results that demonstrate the achieved improvements due to the proposed optimizations on various testbeds, including heterogeneous environments.

[1]  Murray Cole,et al.  Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming , 2004, Parallel Comput..

[2]  Marco Danelutto,et al.  An advanced environment supporting structured parallel programming in Java , 2003, Future Gener. Comput. Syst..

[3]  Dennis Gannon,et al.  Building Applications from a Web Service based Component Architecture , 2005 .

[4]  Marco Danelutto,et al.  ASSIST As a Research Framework for High-Performance Grid Programming Environments , 2006, Grid Computing: Software Environments and Tools.

[5]  Akkihebbal L. Ananda,et al.  A survey of asynchronous remote procedure calls , 1992, OPSR.

[6]  Steven Tuecke,et al.  The Physiology of the Grid An Open Grid Services Architecture for Distributed Systems Integration , 2002 .

[7]  Sergei Gorlatch,et al.  Future-Based RMI: Optimizing Compositions of Remote Method Calls on the Grid , 2003, Euro-Par.

[8]  Norman W. Paton,et al.  The design and implementation of Grid database services in OGSA‐DAI , 2005, Concurr. Pract. Exp..

[9]  Andrew S. Grimshaw,et al.  Object-Oriented Parallel Processing with Mentat , 1996, Inf. Sci..

[10]  Vivek Sarkar,et al.  Compile-time partitioning and scheduling of parallel programs , 1986, SIGPLAN '86.

[11]  Sathish S. Vadhiyar,et al.  GrADSolve - RPC for High Performance Computing on the Grid , 2003, Euro-Par.

[12]  Rajkumar Buyya,et al.  Grid Market Directory: A Web Services based Grid Service Publication Directory , 2003, ArXiv.

[13]  Ian T. Foster,et al.  Security for Grid services , 2003, High Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on.

[14]  Marcin Paprzycki Structured development of parallel programs , 1999, IEEE Concurr..

[15]  Yan Huang,et al.  Wrapping legacy codes for Grid-based applications , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[16]  Gábor Terstyánszky,et al.  Creating scalable traffic simulation on clusters , 2004, 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings..

[17]  Michael Philippsen,et al.  A more efficient RMI for Java , 1999, JAVA '99.

[18]  David E. Culler,et al.  The ganglia distributed monitoring system: design, implementation, and experience , 2004, Parallel Comput..

[19]  Jon B. Weissman,et al.  Supporting the dynamic grid service lifecycle , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[20]  Omer F. Rana,et al.  QoS Adaptation in Service-Oriented Grids , 2003, Middleware Workshops.

[21]  Lorenzo Alvisi,et al.  Paralex: an environment for parallel programming in distributed systems , 1991, ICS '92.

[22]  Ian T. Foster,et al.  Grid information services for distributed resource sharing , 2001, Proceedings 10th IEEE International Symposium on High Performance Distributed Computing.

[23]  Marco Vanneschi,et al.  The programming model of ASSIST, an environment for parallel and distributed portable applications , 2002, Parallel Comput..

[24]  Herbert Kuchen,et al.  A Skeleton Library , 2002, Euro-Par.

[25]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[26]  Ákos Frohner,et al.  VOMS, an Authorization System for Virtual Organizations , 2003, European Across Grids Conference.

[27]  Marco Danelutto,et al.  An operational semantics for skeletons , 2003, PARCO.

[28]  Denis Caromel,et al.  Towards seamless computing and metacomputing in Java , 1998 .

[29]  Rajkumar Buyya,et al.  A grid service broker for scheduling distributed data-oriented applications on global grids , 2004, MGC '04.

[30]  Sergio Andreozzi,et al.  A monitoring tool for a GRID operation center , 2003, ArXiv.

[31]  Paul H. J. Kelly,et al.  Optimising Java RMI Programs by Communication Restructuring , 2003, Middleware.

[32]  Marco Danelutto Efficient Support for Skeletons on Workstation Clusters , 2001, Parallel Process. Lett..

[33]  Péter Kacsuk,et al.  P-GRADE: A Grid Programming Environment , 2003, Journal of Grid Computing.

[34]  Thierry Delaitre,et al.  Publishing and Executing Parallel Legacy Code Using an OGSI Grid Service , 2004, ICCSA.

[35]  Péter Kacsuk,et al.  The P-GRADE Grid Portal , 2004, ICCSA.

[36]  Craig J. Patten,et al.  DISCWorld: an environment for service-based matacomputing , 1999, Future Gener. Comput. Syst..

[37]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[38]  Thierry Bodhuin,et al.  Using grid technologies for Web-enabling legacy systems , 2003, Eleventh Annual International Workshop on Software Technology and Engineering Practice.

[39]  D. Caromel A general model for concurrent and distributed object-oriented programming , 1988, OOPSLA/ECOOP '88.

[40]  Gábor Terstyánszky,et al.  Experiences with Deploying Legacy Code Applications as Grid Services Using GEMLCA, , 2005, EGC.

[41]  Thierry Delaitre,et al.  High-level grid application environment to use legacy codes as OGSA grid services , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[42]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[43]  Kaizar Amin,et al.  An OGSA-Based Quality of Service Framework , 2003, GCC.

[44]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[45]  Ian T. Foster,et al.  Grid Services for Distributed System Integration , 2002, Computer.

[46]  Robert G. Babb,et al.  Parallel Processing with Large-Grain Data Flow Techniques , 1984, Computer.

[47]  Marian Bubak,et al.  A Solution for Adapting Legacy Code as Web Services , 2005 .