ACM Home Page
Please provide us with feedback. Feedback
Automatic data layout for distributed-memory machines
Full text PdfPdf (633 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 20 ,  Issue 4  (July 1998) table of contents
Pages: 869 - 916  
Year of Publication: 1998
ISSN:0164-0925
Authors
Ken Kennedy  Rice Univ., Houston, TX
Ulrich Kremer  Rutgers Univ., Piscataway, NJ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 56,   Citation Count: 26
Additional Information:

abstract   references   cited by   additional resources   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/291891.291901
What is a DOI?

ABSTRACT

The goal of languages like Fortran D or High Performance Fortran (HPF) is to provide a simple yet efficient machine-independent parallel programming model. After the algorithm selection, the data layout choice is the key intellectual challenge in writing an efficient program in such languages. The performance of a data layout depends on the target compilation system, the target machine, the problem size, and the number of available processors. This makes the choice of a good layout extremely difficult for most users of such languages. If languages such as HPF are to find general acceptance, the need for data layout selection support has to be addressed. We beleive that the appropriate way to provide the needed support is through a tool that generates data layout specifications automatically. This article discusses the design and implementation of a data layout selection tool that generates HPF-style data layout specifications automatically. Because layout is done in a tool that is not embedded in the target compiler and hence will be run only a few times during the tuning phase of an application, it can use techniques such as integer programming that may be considered too computationally expensive for inclusion in production compilers. The proposed framework for automatic data layout selection builds and examines search spaces of candidate data layouts. A candidate layout is an efficient layout for some part of the program. After the generation of search spaces, a single candidate layout is selected for each program part, resulting in a data layout for the entire program. A good overall data layout may require the remapping of arrays between program parts. A performance estimator based on a compiler model, an execution model, and a machine model are needed to predict the execution time of each candidate layout and the costs of possible remappings between candidate data layouts. In the proposed framework, instances of NP-complete problems are solved during the construction of candidate layout search spaces and the final selection of candidate layouts from each search space. Rather than resorting to heuristics, the framework capitalizes on state-of-the-art 0-1 integer programming technology to compute optimal solutions of these NP-complete problems. A prototype data layout assistant tool based on our framework has been implemented as part of the D system currently under development at Rice University. The article reports preliminary experimental results. The results indicate that the framework is efficient and allows the generation of data layouts of high quality.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
4
5
 
6
7
 
8
9
 
10
 
11
BIXBY, R. 1992. Implementing the Simplex method: The initial basis. ORSA J. Comput. 4, 3, 267-284.
 
12
 
13
CALLAHAN, D. AND KENNEDY, K. 1988. Compiling programs for distributed-memory multiprocessots. J. Supercomput. 2, 151-169.
 
14
15
16
 
17
 
18
 
19
 
20
D'HOLLANDER, E. 1989. Partitioning and labeling of index sets in do loops with constant dependence. In Proceedings of the 1989 International Conference on Parallel Processing. II139-II144.
 
21
 
22
 
23
Fox, G., HIRANANDANI, S., KENNEDY, K., KOELBEL, C., KREMER, W., TSENG, C., AND WU, M. 1990. Fortran D language specification. Tech. Rep. TR90-141, Dept. of Computer Science, Rice University, Houston, Tex.
 
24
 
25
GARCIA, J. 1997. Automatic data distribution for massively parallel processors. Ph.D. thesis, Universitat Polit~cnica de Catalunya, Barcelona, Spain.
 
26
GARCIA, J., AYGUADI~, E., AND LABARTA, J. 1995. A novel approach towards automatic data distribution. In Proceedings of the Workshop on Automatic Data Layout and Performance Prediction (AP'95). Available as Rice University Tech. Rep. CRPC-TR95-548.
 
27
 
28
 
29
 
30
 
31
 
32
33
34
35
 
36
 
37
 
38
 
39
 
40
 
41
KREMER, U. 1997. Optimal and near-optimM solutions for hard compilation problems. Parallel Process. Lett. 7, 2, 371-378.
 
42
 
43
KREMER, U. AND RAMIe, M. 1994. Compositional oil reservoir simulation in Fortran D" A feasibility study on Intel iPSC,/860. Int. J. Supercomput. Appl. 8, 2 (Summer), 119-128.
 
44
LEE, P. AND TSAI, T.-B. 1993. Compiling efficient programs for tightly-coupled distributed mereory computers. In Proceedings of the 1993 International Conference on Parallel Processing. II161-II165.
 
45
 
46
 
47
 
48
 
49
50
 
51
 
52
PALERMO, D. AND BANERJEE, P. 1995. Automatic selection of dynamic data partitioning schemes for distributed-memory multicomputers. Technical Report CRHC-95-09, Center for Reliable and High-Performance Computing, Coordinated Science Laboratory, University of Illinois at Urbana-Champaign, Ill.
 
53
54
 
55
PRESBERG, D. L. 1996. Comparison of 3 HPF compilers for the IBM SP. NHSF, Rev. 1996, 2. Available at http://www.crpc.rice.edu/NHSEreview/96-2.html.
56
57
58
 
59
ROSE, J. AND STEELE, G. 1987. C*: An extended C language for data parallel programming. Technical Report PL87-5, Thinking Machines, Inc., Cambridge, Mass.
 
60
 
61
 
62
Thinking Machines Corp. 1989. CM Fortran Reference Manual, Version 5.2-0.6 ed. Thinking Machines Corp., Cambridge, Mass.
 
63
 
64
65
 
66
ZIMA, H., BAST, H.-J., AND GERNDT, M. 1988. SUPERB: A tool for semi-automatic MIMD,/SIMD parallelization. Parallel Comput. 6, 1-18.

CITED BY  26

ADDITIONAL RESOURCES

Appendices A-C do not appear in the print version of this article. They are contained in the online version of this article and are also available in a separate online document.



REVIEW

"Michael Wolfe : Reviewer"

In High Performance Fortran and similar languages, the user is responsible for adding explicit data distribution directives. Since this is a major impediment to the widespread use of such languages, recent research has studied automatic data d  more...

Collaborative Colleagues:
Ken Kennedy: colleagues
Ulrich Kremer: colleagues