Programming Distributed Memory Sytems Using OpenMP

Ayon Basumallik, Seung-Jai Min, Rudolf Eigenmann
2007 2007 IEEE International Parallel and Distributed Processing Symposium  
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 sharedmemory parallel programming in OpenMP to distributedmemory platforms as well. First, we describe a combined compile-time/runtime system that uses an underlying Software Distributed Shared Memory System and exploits repetitive
more » ... ata 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.
doi:10.1109/ipdps.2007.370397 dblp:conf/ipps/BasumallikME07 fatcat:cdpbjy7ghndcxa6kh5zlryc6q4