Generating Global Name-Space Communication Sets for Array Assignment Statements

PeiZong Lee and Wen-Yao Chen

psfileTR-IIS-97-016


Keywords:
array assignment statements, closed forms, communication sets, distributed-memory computers, forall statements, global name space, parallelizing compilers, run-time support

Abstract

This paper is concerned with the design of efficient algorithms for generating global name-space communication sets based on execution of array assignment statements on distributed-memory parallel computers. For general cases, although the communication sets can be represented by the union of a functional number of closed forms, these sets cannot be represented by a fixed number of closed forms. Closed-form expressions for communication sets would reduce the associated packing overhead at the sending processor and unpacking overhead at the receiving processor. In this paper, we will first present a method using row-wise block-to-block intersections and an integer lattice method to generate communication sets when data arrays are distributed in any arbitrary block-cyclic fashion. After that, we will show that compiler or run-time support itself is more suitable for determining the block sizes of the array distributions. We will also derive closed forms to represent communication sets when data arrays are distributed in a restricted block-cyclic fashion, which can be determined at compiling time. Our methods can be included in current compilers and used when programmers don't know how to use data distribution directives to assign suitable block sizes. Experimental studies on a 16-node nCUBE/2E parallel computer are also presented.