NASA NTRS · 20080013193
Reusable and Extensible High Level Data Distributions
Abstract
This paper presents a reusable design of a data distribution framework for data parallel high performance applications. We are implementing the design in the context of the Chapel high productivity programming language. Distributions in Chapel 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 can be chosen by a user. 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 the user to refine a language-provided distribution type and adjust it to optimize the performance of the application. Additionally, we conceal from the user low-level communication and synchronization details to increase 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 language.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Diaconescu, Roxana E., Chamberlain, Bradford, James, Mark L., Zima, Hans P.. 2005-05-04. Reusable and Extensible High Level Data Distributions. https://ntrs.nasa.gov/citations/20080013193
Cite the original work for its findings. Save a collection to share your selection of sources.