Reusable and Extensible High Level Data Distributions

This paper presents a reusable design of a data distribution framework for data parallel high performance applications. Distributions are a means to express locality in systems composed of large numbers of processor and memory components connected by a network. Since distributions have a great effec...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Diaconescu, Roxana E, Chamberlain, Bradford, James, Mark L, Zima, Hans P
Format: Report
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:This paper presents a reusable design of a data distribution framework for data parallel high performance applications. Distributions are a means to express locality in systems composed of large numbers of processor and memory components connected by a network. Since distributions have a great effect on the performance of applications, it is important that the distribution strategy is flexible, so its behavior can change depending on the needs of the application. At the same time, high productivity concerns require that the user is shielded from error-prone, tedious details such as communication and synchronization. We propose an approach to distributions that enables a user to refine a distribution type and adjust it to optimize the performance of the application. Additionally, the low-level communication and synchronization details are concealed from a programmer, resulting in increased productivity. To emphasize the generality of our distribution machinery, we present its abstract design in the form of a design pattern, which is independent of a concrete implementation. To illustrate the applicability of our distribution framework design, we outline the implementation of data distributions in terms of the Chapel high productivity programming language. Sponsored in part by the National Aeronautics and Space Administration. Presented at Workshop on Patterns in High Performance Computing held in Urbana-Champaign, IL on 4-6 May 2005.