This Article 
 Bibliographic References 
 Add to: 
The Efficient Computation of Ownership Sets in HPF
August 2001 (vol. 12 no. 8)
pp. 769-788

Abstract—Ownership sets are fundamental to the partitioning of program computations across processors by the owner-computes rule. These sets arise due to the mapping of arrays onto processors. In this paper, we focus on how ownership sets can be efficiently determined in the context of the HPF language and show how the structure of these sets can be symbolically characterized in the presence of arbitrary array alignment and array distribution directives. Our starting point is a system of equalities and inequalities due to Ancourt et al. [1] that captures the array mapping problem in HPF. We arrive at a refined system that enables us to efficiently solve for the ownership set using the Fourier-Motzkin Elimination technique and that requires the course vector as the only auxiliary vector. The formulation makes it possible to enumerate the elements of the ownership set exactly once, a feature that is very beneficial when such sets are applied to handle DO loops qualified by HPF's INDEPENDENT directive. We develop important and general properties pertaining to HPF alignments and distributions and show how they can be used to eliminate redundant communication due to array replication. Polynomial-time schemes that determine whether the ownership set of a particular processor, with respect to some array, is the empty set or whether the ownership set of every processor, with respect to some array, is the empty set, are presented. We show how distribution directives with unspecified processor meshes can be efficiently handled at compile time. We also show how to avoid the generation of communication code when pairs of array references are ultimately mapped onto the same processors. Experimental data demonstrating the improved code performance that the latter optimization enables is presented and discussed.

[1] C. Ancourt, F. Coelho, F. Irigoin, and R. Keryell, “A Linear Algebra Framework for Static HPF Code Distribution,” Technical Report A-278-CRI, Centre de Recherche en Informatique,École Nationale Supérieure des Mines de Paris, 35, rue Saint-Honoroé, F-77305 Fontainebleau cedex, France, Nov. 1995.
[2] S.P. Amarasinghe and M.S. Lam, “Communication Optimization and Code Generation for Distributed Memory Machines,” Proc. ACM SIGPLAN Programming Language Design and Implementation, pp. 126-138, June 1993.
[3] V.S. Adve and J. Mellor-Crummey, “Using Integer Sets for Data-Parallel Program Analysis and Optimization,” Proc. SIGPLAN '98 Conf. Programming Language Design and Implementation, June 1998.
[4] V. Balasundaram, “A Mechanism for Keeping Useful Internal Information in Parallel Programming Tools: The Data Access Descriptor,” J. Parallel and Distributed Computing, vol. 9, pp. 154-170, 1990.
[5] U. Banerjee, Loop Transformations for Restructuring Compilers, Kluwer Academic Publishers, Boston, Mass., 1997.
[6] S. Chatterjee, J. Gilbert, F. Long, R. Schreiber, and S. Tseng, “Generating Local Adresses and Communication Sets for Data Parallel Programs,” J. Parallel and Distributed Computing, vol. 26,pp. 72–84, 1995.
[7] D. Callahan and K. Kennedy, “Analysis of Interprocedural Side Effects in a Parallel Programming Environment,” Proc. First ACM Int'l Conf. Supercomputing, pp. 138-171, May 1987.
[8] S.K.S. Gupta, S.D. Kaushik, S. Mufti, S. Sharma, C.-H. Huang, and P. Sadayappan, “On Compiling Array Expressions for Efficient Execution on Distributed-Memory Machines,” Proc. 22nd Int'l Conf. Parallel Processing, vol. II (Software), pp. 301-305, Aug. 1993.
[9] P.G. Joisha and P. Banerjee, “PARADIGM (Version 2. 0): A New HPF Compilation System,” Proc. 13th Int'l Parallel Processing Symp. and 10th Symp. Parallel and Distributed Processing, pp. 609-615, Apr. 1999.
[10] C. Koelbel, D. Loveman, R. Schreiber, G. Steele Jr., and M. Zosel, The High Performance Fortran Handbook. MIT Press, 1994.
[11] F.M. McMahon, “The Livermore FORTRAN Kernels: A Computer Test of the Numerical Performance Range,” Technical Report UCRL-55745, Lawrence Livermore National Laboratory, Livermore, Calif., Dec. 1986.
[12] S.P. Midkiff, “Local Iteration Set Computation for Block-Cyclic Distributions,” Proc. 24th Int'l Conf. Parallel Processing, vol. II (Software), pp. 77-84, Aug. 1995.
[13] E. Su, D.J. Palermo, and P. Banerjee, “Processor Tagged Descriptors: A Data Structure for Compiling for Distributed-Memory Multicomputers,” Proc. 1994 Int’l Conf. Parallel Architectures and Compilation Techniques, Elsevier Science B.V., Amsterdam, The Netherlands, 1994, pp. 123-132.
[14] A. Thirumalai and J. Ramanujam, “Efficient Computation of Address Sequences in Data-Parallel Programs Using Closed Forms for Basis Vectors,” J. Parallel and Distributed Computing, vol, 38, no. 2, pp. 188-203, Nov. 1996.
[15] M.J. Wolfe, High Performance Compilers for Parallel Computing, Redwood City, Calif.: Addison Wesley, 1996.

Index Terms:
HPF, array alignment, array distribution, ownership set, Fourier-Motzkin Elimination technique, parallelizing compiler.
Pramod G. Joisha, Prithviraj Banerjee, "The Efficient Computation of Ownership Sets in HPF," IEEE Transactions on Parallel and Distributed Systems, vol. 12, no. 8, pp. 769-788, Aug. 2001, doi:10.1109/71.946650
Usage of this product signifies your acceptance of the Terms of Use.