Reusable and Extensible High Level Data DistributionsRoxana E. Diaconescu, Bradford Chamberlain and Hans P. Zima (2005) Reusable and Extensible High Level Data Distributions. In: Workshop on Patterns in High Performance Computing, 4-6 May, 2005, University of Illinois at Urbana-Champaign. [CaltechCACR:2005.103] Full text available as:
AbstractThis 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 thee 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.
Archive Staff Only: edit this record |