OpenMP runtime support for clusters of multiprocessors

  • Authors:
  • Panagiotis E. Hadjidoukas;Eleftherios D. Polychronopoulos;Theodore S. Papatheodorou

  • Affiliations:
  • High Performance Information Systems Laboratory, Department of Computer Engineering and Informatics, University of Patras, Patras, Greece;High Performance Information Systems Laboratory, Department of Computer Engineering and Informatics, University of Patras, Patras, Greece;High Performance Information Systems Laboratory, Department of Computer Engineering and Informatics, University of Patras, Patras, Greece

  • Venue:
  • WOMPAT'03 Proceedings of the OpenMP applications and tools 2003 international conference on OpenMP shared memory parallel programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a prototype runtime system, providing support at the backend of the NANOS OpenMP compiler, that enables the execution of unmodified OpenMP Fortran programs on both SMPs and clusters of multiprocessors, either through the hybrid programming model (MPI+OpenMP) or directly on top of Software Distributed Shared Memory (SDSM). The latter is feasible by adopting a share-everything approach for the generated by the OpenMP compiler code, which corresponds to the "default shared" philosophy of OpenMP. Specifically, the user-level thread stacks and the Fortran common blocks are allocated explicitly, though transparently to the programmer, in shared memory. The management of the internal runtime system structures and of the forkjoin multilevel parallelism is based on explicit communication, exploiting however the shared-memory hardware of the available SMP nodes whenever this is possible. The modular design of the runtime system allows the integration of existing unmodified SDSM libraries, despite their design for SPMD execution.