Computing Reviews

Automatic data layout for distributed-memory machines
Kennedy K., Kremer U. ACM Transactions on Programming Languages and Systems20(4):869-916,1998.Type:Article
Date Reviewed: 04/01/99

In High Performance Fortran and similar languages, the user isresponsible for adding explicit data distribution directives. Since thisis a major impediment to the widespread use of such languages, recentresearch has studied automatic data distribution.

The effort described in this paper uses a five-step process: (1)program partitioning into phases; (2) candidate layout selection; (3)performance estimation; (4) data layout selection; and (5) codegeneration. The focus of the paper is on step (4). This approach allowsfor dynamic data redistribution between phases. In the general case, theproblem is cast into a 0-1 integer programming framework and solvedoptimally. Since integer programming is potentially very slow, theauthors propose its use in a separate tool rather than in the compileritself.

The paper is of some interest to parallel compilerresearchers and developers. The results are promising, but too limitedas yet to be of practical use; the sample implementation only handlesone-dimensional distributions, and must know the array and machinesizes. Given the number of heuristics in performance estimation, bothfor data layout and for candidate layout selection, the utility ofhaving an optimal solution for a very inexact problem is open toquestion.

Reviewer:  M. Wolfe Review #: CR127241 (99040265)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy