Programming Distributed Memory Sytems Using OpenMP

OpenMP has emerged as an important model and language extension for shared-memory parallel programming. On shared-memory platforms, OpenMP offers an intuitive, incremental approach to parallel programming. In this paper, we present techniques that extend the ease of shared-memory parallel programmin...

Full description

Saved in:
Bibliographic Details
Published in:2007 IEEE International Parallel and Distributed Processing Symposium pp. 1 - 8
Main Authors: Basumallik, A., Min, S.-J., Eigenmann, R.
Format: Conference Proceeding
Language:English
Published: IEEE 01.03.2007
Subjects:
ISBN:1424409098, 9781424409099
ISSN:1530-2075
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:OpenMP has emerged as an important model and language extension for shared-memory parallel programming. On shared-memory platforms, OpenMP offers an intuitive, incremental approach to parallel programming. In this paper, we present techniques that extend the ease of shared-memory parallel programming in OpenMP to distributed-memory platforms as well. First, we describe a combined compile-time/runtime system that uses an underlying software distributed shared memory system and exploits repetitive data access behavior in both regular and irregular program sections. We present a compiler algorithm to detect such repetitive data references and an API to an underlying software distributed shared memory system to orchestrate the learning and proactive reuse of communication patterns. Second, we introduce a direct translation of standard OpenMP into MPI message-passing programs for execution on distributed memory systems. We present key concepts and describe techniques to analyze and efficiently handle both regular and irregular accesses to shared data. Finally, we evaluate the performance achieved by our approaches on representative OpenMP applications.
ISBN:1424409098
9781424409099
ISSN:1530-2075
DOI:10.1109/IPDPS.2007.370397