A Component-Oriented Support for Hierarchical MPI Programming on Multi-Cluster Grid Environments

In this paper, we present a proposal for hierarchical MPI programming through some intuitive extensions to the MPI standard that may help users to develop non-embarrassingly parallel grid applications in a topology- aware manner. Afterwards, we present the design of such a support based upon a component model suited to grid computing (the EU CoreGRID grid component model - GCM - and its implementation in the ProActive grid environment) to handle inter-cluster and group communications. The usage of such components to handle high-level data distribution, parallelism and synchronization seems to be the most adequate technology to support MPI primitives in multi-cluster grids as they provide a built-in support to the encapsulation of native code, collective interfaces, tunneling of communications and a hierarchical and adaptable structure. The preliminary results have shown that the overhead is not negligible, but within the expected range. However we can expect the benefits to applications to bypass the generated overhead.

[1]  Ian T. Foster,et al.  MPICH-G2: A Grid-enabled implementation of the Message Passing Interface , 2002, J. Parallel Distributed Comput..

[2]  Suchuan Dong,et al.  Grid solutions for biological and physical cross-site simulations on the TeraGrid , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[3]  Vaidy S. Sunderam,et al.  Failure Resilient Heterogeneous Parallel Computing Across Multidomain Clusters , 2005, Int. J. High Perform. Comput. Appl..

[4]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[5]  Christian Pérez,et al.  Improving MPI Support for Applications on Hierarchically Distributed Resources , 2007, PVM/MPI.

[6]  R. V. van Nieuwpoort,et al.  The Grid 2: Blueprint for a New Computing Infrastructure , 2003 .

[7]  José C. Cunha,et al.  Grid Computing: Software Environments and Tools , 2005 .

[8]  Bronis R. de Supinski,et al.  Accurately measuring MPI broadcasts in a computational grid , 1999, Proceedings. The Eighth International Symposium on High Performance Distributed Computing (Cat. No.99TH8469).

[9]  Denis Caromel,et al.  Collective Interfaces for Distributed Components , 2007, Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid '07).

[10]  Michael M. Resch,et al.  An Extension to MPI for Distributed Computing on MPPs , 1997, PVM/MPI.

[11]  James Arthur Kohl,et al.  Data redistribution and remote method invocation in parallel component architectures , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[12]  Henri E. Bal,et al.  MagPIe: MPI's collective communication operations for clustered wide area systems , 1999, PPoPP '99.