Remote Memory Access: A Case for Portable, Efficient and Library Independent Parallel Programming

In this work we make a strong case for remote memory access (RMA) as the effective way to program a parallel computer by proposing a framework that supports RMA in a library independent, simple and intuitive way. If one uses our approach the parallel code one writes will run transparently under MPI‐...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Scientific programming 2004-01, Vol.12 (3), p.169-183
Hauptverfasser: Gerbessiotis, Alexandros V., Lee, Seung-Yeop
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:In this work we make a strong case for remote memory access (RMA) as the effective way to program a parallel computer by proposing a framework that supports RMA in a library independent, simple and intuitive way. If one uses our approach the parallel code one writes will run transparently under MPI‐2 enabled libraries but also bulk‐synchronous parallel libraries. The advantage of using RMA is code simplicity, reduced programming complexity, and increased efficiency. We support the latter claims by implementing under this framework a collection of benchmark programs consisting of a communication and synchronization performance assessment program, a dense matrix multiplication algorithm, and two variants of a parallel radix‐sort algorithm and examine their performance on a LINUX‐based PC cluster under three different RMA enabled libraries: LAM MPI, BSPlib, and PUB. We conclude that implementations of such parallel algorithms using RMA communication primitives lead to code that is as efficient as the message‐passing equivalent code and in the case of radix‐sort substantially more efficient. In addition our work can be used as a comparative study of the relevant capabilities of the three libraries.
ISSN:1058-9244
1875-919X
DOI:10.1155/2004/934718