MPI-2 One-Sided Usage and Implementation for Read Modify Write Operations: A Case Study with HPCC

MPI-2's One-sided communication interface is being explored in scientific applications. One of the important operations in a one sided model is read-modify- write. MPI-2 semantics provide MPI Put, MPI Get and MPI Accumulate operations which can be used to implement read-modify-write functionality. The different strategies yield varying performance benefits depending on the underlying one-sided implementation. We use HPCC Random Access benchmark which primarily uses read-modify-write operations as a case study for evaluating the different implementation strategies in this paper. Currently this benchmark is implemented based on MPI two-sided semantics. In this work we design and evaluate MPI-2 versions of the HPCC Random Access benchmark using one-sided operations. To improve the performance, we explore two different optimizations: (i) software based aggregation and (ii) hardware-based atomic operations. We evaluate our different approaches on an InfiniBand cluster. The software based aggregation outperforms the basic one sided scheme without aggregation by a factor of 4.38. The hardware based scheme shows an improvement by a factor of 2.62 as compared to the basic one sided scheme.

[1]  Stephen Booth,et al.  HYDRA-MPI : An Adaptive Particle-Particle , Particle-Mesh code for conducting Cosmological Simulations on MPP Architectures , 2003 .

[2]  Hyun-Wook Jin,et al.  Efficient Implementation of MPI-2 Passive One-Sided Communication on InfiniBand Clusters , 2004, PVM/MPI.

[3]  Anthony Skjellum,et al.  Using MPI - portable parallel programming with the message-parsing interface , 1994 .

[4]  Hyun-Wook Jin,et al.  High performance MPI-2 one-sided communication over InfiniBand , 2004, IEEE International Symposium on Cluster Computing and the Grid, 2004. CCGrid 2004..

[5]  Stephen Booth,et al.  Single sided MPI implementations for SUN MPI , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[6]  Hubert Ritzdorf,et al.  The Implementation of MPI-2 One-Sided Communication for the NEC SX-5 , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[7]  Yogish Sabharwal,et al.  Optimizing the HPCC randomaccess benchmark on blue Gene/L Supercomputer , 2006, SIGMETRICS '06/Performance '06.

[8]  M. Blocksome,et al.  Design and Implementation of a One-Sided Communication Interface for the IBM eServer Blue Gene , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[9]  Jack J. Dongarra Overview of the HPC Challenge Benchmark Suite , 2006 .

[10]  Tarek El-Ghazawi,et al.  Evaluation of UPC on the Cray X1 , 2005 .

[11]  Jarek Nieplocha,et al.  An evaluation of two implementation strategies for optimizing one-sided atomic reduction , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[12]  Anthony Skjellum,et al.  Using MPI: portable parallel programming with the message-passing interface, 2nd Edition , 1999, Scientific and engineering computation series.

[13]  Daisuke Takahashi,et al.  The HPC Challenge (HPCC) benchmark suite , 2006, SC.

[14]  Sriram Krishnamoorthy,et al.  Blue Gene system software - Design and implementation of a one-sided communication interface for the IBM eServer Blue Gene® supercomputer , 2006, SC.

[15]  João Gabriel Silva,et al.  Implementing MPI's One-Sided Communications for WMPI , 1999, PVM/MPI.