Title :
ADDT: automatic data distribution tool for porting programs to PVM
Author :
Sivaraman, H. ; Raghavendra, C.S.
Author_Institution :
School of Electr. Eng. & Comput. Sci., Washington State Univ., Pullman, WA, USA
Abstract :
An important issue facing users who develop applications on PVM is that of partitioning the data over the different processors and generating communication statements for non-local data accesses. The burden of generating communication statements is alleviated by data parallel languages like HPF. HPF requires the user to specify the distribution of the data in the application. This distribution is specified over the processors on which the application is to execute. A good data distribution depends on the number of processors, the communication latency and the underlying compilation system. We present a method for automatically generating a dynamic data distribution and alignments for a distributed memory environment. This method has been implemented in an automatic data distribution tool called ADDT. ADDT reads in a shared memory parallel program in Fortran and generates as output a HPF program. Our method works by breaking up the input program into sub parts called distribution blocks (DB). It then obtains a set of data distribution for the arrays in each DB using the data layouts from preceding DB´s. The algorithms used to obtain a set of data distribution (called candidate distributions) for a DB are discussed. The final data layout for the program has to be selected from these candidate distributions. This selection is formulated as a linear optimization problem which minimizes the communication while minimizing loss of parallelism. We present experimental results obtained by running ADDT on some example programs
Keywords :
FORTRAN; distributed memory systems; optimisation; parallel languages; parallel programming; program compilers; program interpreters; shared memory systems; software portability; ADDT; Fortran; HPF; High Performance Fortran; PVM; automatic data distribution tool; communication latency; communication statements; data parallel languages; data partitioning; distributed memory environment; distribution blocks; linear optimization problem; nonlocal data access; program porting; shared memory parallel program; Cloning; Computer science; Delay; High performance computing; Multidimensional systems; Parallel languages; Performance analysis; Read-write memory; Table lookup; Workstations;
Conference_Titel :
System Sciences, 1996., Proceedings of the Twenty-Ninth Hawaii International Conference on ,
Conference_Location :
Wailea, HI
Print_ISBN :
0-8186-7324-9
DOI :
10.1109/HICSS.1996.495506