NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Algorithms for Automatic Alignment of ArraysAggregate data objects (such as arrays) are distributed across the processor memories when compiling a data-parallel language for a distributed-memory machine. The mapping determines the amount of communication needed to bring operands of parallel operations into alignment with each other. A common approach is to break the mapping into two stages: an alignment that maps all the objects to an abstract template, followed by a distribution that maps the template to the processors. This paper describes algorithms for solving the various facets of the alignment problem: axis and stride alignment, static and mobile offset alignment, and replication labeling. We show that optimal axis and stride alignment is NP-complete for general program graphs, and give a heuristic method that can explore the space of possible solutions in a number of ways. We show that some of these strategies can give better solutions than a simple greedy approach proposed earlier. We also show how local graph contractions can reduce the size of the problem significantly without changing the best solution. This allows more complex and effective heuristics to be used. We show how to model the static offset alignment problem using linear programming, and we show that loop-dependent mobile offset alignment is sometimes necessary for optimum performance. We describe an algorithm with for determining mobile alignments for objects within do loops. We also identify situations in which replicated alignment is either required by the program itself or can be used to improve performance. We describe an algorithm based on network flow that replicates objects so as to minimize the total amount of broadcast communication in replication.
Document ID
19960048009
Acquisition Source
Ames Research Center
Document Type
Contractor Report (CR)
External Source(s)
Authors
Chatterjee, Siddhartha
(Research Inst. for Advanced Computer Science Moffett Field, CA United States)
Gilbert, John R.
(Xerox Palo Alto Research Center CA United States)
Oliker, Leonid
(Research Inst. for Advanced Computer Science Moffett Field, CA United States)
Schreiber, Robert
(Hewlett-Packard Co. Palo Alto, CA United States)
Sheffler, Thomas J.
(Research Inst. for Advanced Computer Science Moffett Field, CA United States)
Date Acquired
September 6, 2013
Publication Date
August 1, 1996
Publication Information
Publication: Journal of Parallel and Distributed Computing
Subject Category
Computer Programming And Software
Report/Patent Number
NAS 1.26:202184
RIACS-96.14
NASA-CR-202184
Report Number: NAS 1.26:202184
Report Number: RIACS-96.14
Report Number: NASA-CR-202184
Accession Number
96N33520
Funding Number(s)
CONTRACT_GRANT: NAS2-13721
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available