Mobile and replicated alignment of arrays in data-parallel programsWhen a data-parallel language like FORTRAN 90 is compiled for a distributed-memory machine, aggregate data objects (such as arrays) are distributed across the processor memories. The mapping determines the amount of residual communication needed to bring operands of parallel operations into alignment with each other. A common approach is to break the mapping into two stages: first, an alignment that maps all the objects to an abstract template, and then a distribution that maps the template to the processors. We solve two facets of the problem of finding alignments that reduce residual communication: we determine alignments that vary in loops, and objects that should have replicated alignments. We show that loop-dependent mobile alignment is sometimes necessary for optimum performance, and we provide algorithms with which a compiler can determine good mobile alignments for objects within do loops. We also identify situations in which replicated alignment is either required by the program itself (via spread operations) or can be used to improve performance. We propose an algorithm based on network flow that determines which objects to replicate so as to minimize the total amount of broadcast communication in replication. This work on mobile and replicated alignment extends our earlier work on determining static alignment.
Document ID
19940010640
Acquisition Source
Legacy CDMS
Document Type
Conference Proceedings
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)
Schreiber, Robert (Research Inst. for Advanced Computer Science Moffett Field, CA, United States)
Date Acquired
September 6, 2013
Publication Date
September 1, 1993
Subject Category
Computer Systems
Report/Patent Number
RIACS-TR-93-08NAS 1.26:194294NASA-CR-194294Report Number: RIACS-TR-93-08Report Number: NAS 1.26:194294Report Number: NASA-CR-194294