Implementing an OpenMP execution environment on InfiniBand clusters

  • Authors:
  • Jie Tao;Wolfgang Karl;Carsten Trinitis

  • Affiliations:
  • Institut für Technische Informatik, Universität Karlsruhe (TH), Karlsruhe, Germany;Institut für Technische Informatik, Universität Karlsruhe (TH), Karlsruhe, Germany;Lehrstuhl für Rechnertechnik und Rechnerorganisation, Technische Universität München, Garching, Germany

  • Venue:
  • IWOMP'05/IWOMP'06 Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cluster systems interconnected via fast interconnection networks have been successfully applied to various research fields for parallel execution of large applications. Next to MPI, the conventional programming model, OpenMP is increasingly used for parallelizing sequential codes. Due to its easy programming interface and similar semantics with traditional programming languages, OpenMP is especially appropriate for non-professional users. For exploiting scalable parallel computation, we have established a PC cluster using InfiniBand, a high-performance, de facto standard interconnection technology. In order to support the users with a simple parallel programming model, we have implemented an OpenMP execution environment on top of this cluster. As a global memory abstraction is needed for shared data, we first built a software distributed shared memory implementing a kind of Home-based Lazy Release Consistency protocol. We then modified an existing OpenMP source-to-source compiler for mapping shared data on this DSM and for handling issues with respect to process/thread activities and task distribution. Experimental results based on a set of different OpenMP applications show a speedup of up to 5.22 on systems with 6 processor nodes.