Issue No. 06 - June (2002 vol. 13)
<p>Data locality and workload balance are key factors for getting high performance out of data-parallel programs on multiprocessor architectures. Data-parallel languages such as High-Performance Fortran (HPF) thus offer means allowing a programmer both to specify data distributions, as well as to change them dynamically in order to maintain these properties. On the other hand, redistributions can be quite expensive and significantly degrade a program's performance. They must thus be reduced to a minimum. In this article, we present a novel, aggressive approach for avoiding unnecessary remappings which works by eliminating <it>partially dead</it> and <it>partially redundant</it> distribution changes. Basically, this approach evolves from extending and combining two algorithms for these optimizations achieving each on its own optimal results. In distinction to the sequential setting, the data-parallel setting leads naturally to a family of algorithms of varying power and efficiency allowing requirement-customized solutions. The power and flexibility of the new approach are demonstrated by various examples, which range from typical HPF fragments to real world programs. Performance measurements underline its importance and show its effectivity on different hardware platforms and different settings.</p>
Data-parallel languages, High-Performance Fortran (HPF), dynamic data redistribution, data flow analysis, optimization, partially dead and partially redundant assignment elimination.
J. Knoop and E. Mehofer, "Distribution Assignment Placement: Effective Optimization of Redistribution Costs," in IEEE Transactions on Parallel & Distributed Systems, vol. 13, no. , pp. 628-647, 2002.