This Article 
 Bibliographic References 
 Add to: 
Efficient Algorithms for Array Redistribution
June 1996 (vol. 7 no. 6)
pp. 587-594

Abstract—Dynamic redistribution of arrays is required very often in programs on distributed memory parallel computers. This paper presents efficient algorithms for redistribution between different cyclic(k) distributions, as defined in High Performance Fortran. We first propose special optimized algorithms for a cyclic(x) to cyclic(y) redistribution when x is a multiple of y, or y is a multiple of x. We then propose two algorithms, called the GCD method and the LCM method, for the general cyclic(x) to cyclic(y) redistribution when there is no particular relation between x and y. We have implemented these algorithms on the Intel Touchstone Delta, and find that they perform well for different array sizes and number of processors.

[1] S. Chatterjee,J.R. Gilbert,F.J.E. Long,R. Schreiber,, and S.-H. Teng,“Generating local addresses and communication sets for data-parallelprograms,” Proc. Fourth ACM SIGPLAN Symp. Principles and Practice of Parallel Programming (PPOPP), ACM SIGPLAN Notices, vol. 28, no. 7, pp. 149-158, May 1993.
[2] G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, and C. Tseng, "Fortran D Language Specifications," Technical Report COMP TR90-141, CRPC, Rice Univ., 1990.
[3] S. Gupta, S. Kaushik, S. Mufti, S. Sharma, C. Huang, and P. Sadayappan, "On the Generation of Efficient Data Communication for Distributed Memory Machines," Proc. Int'l Computing Symp., pp. 504-513, 1992.
[4] High Performance Fortran Forum, High Performance Fortran Language Specification, Version 1.0, May 1993.
[5] E.T. Kalns and L.M. Ni,“Processor mapping techniques toward efficient data redistribution,” Proc. of the Eighth Int’l Parallel Processing Symp., pp. 469-476, Apr. 1994.
[6] S.D. Kaushik, C.-H. Huang, R.W. Johnson, and P. Sadayappan, “An Approach to Communication-Efficient Data Redistribution,” Proc. 1994 ACM Int'l Conf. Supercomputing, pp. 364-373, June 1994.
[7] S.D. Kaushik, C.H. Huang, J. Ramanujam, and P. Sadayappan, “Multi-Phase Array Redistribution: Modeling and Evaluation,” Proc. Int'l Parallel Processing Symp., 1995.
[8] C. Koelbel, “Compiler-Time Generation of Communication for Scientific Programs,” Supercomputing '91, pp. 101-110, Nov. 1991.
[9] C. Koelbel, D. Loveman, R. Schreiber, G. Steele Jr., and M. Zosel, The High Performance Fortran Handbook. MIT Press, 1994.
[10] R. Ponnusamy, R. Thakur, A. Choudhary, and G. Fox, "Scheduling Regular and Irregular Comm. Patterns on the CM-5," Proc. Supercomputing '92, pp. 394-402, Nov. 1992.
[11] S. Ramaswamy and P. Banerjee, "Automatic Generation of Efficient Array Redistribution Routines for Distributed Memory Multicomputers," Proc. Frontiers '95: The Fifth Symposium on the Frontiers of Massively Parallel Computation, pp. 342-349,McLean, Va., Feb. 1995.
[12] S. Ranka, J. Wang, and M. Kumar, "Irregular Personalized Communication on Distributed Memory Systems," J. Parallel and Distributed Computing, vol. 25, no. 1, pp. 58-71, Feb. 1995.
[13] D.S. Scott, "Efficient All-to-All Communication Patterns in Hypercube and Mesh Topologies," Proc. Sixth Conf. Distributed Memory Concurrent Computers, pp. 398-403, 1991.
[14] J. Stichnoth,D. O’Hallaron,, and T. Gross,“Generating communication for array statements: Design, implementation, and evaluation,” J. of Parallel and Distributed Computing, vol. 21, no. 1, pp. 150-159, 1994.
[15] R. Thakur and A. Choudhary, "All-to-All Communication on Meshes with Wormhole Routing," Proc. Eighth Int'l Parallel Processing Symp., pp. 561-565, Apr. 1994.
[16] R. Thakur,A. Choudhary,, and G. Fox,“Runtime array redistribution in HPF programs,” Proc. 1994 Scalable High Performance Computing Conf., pp. 309-316, May 1994.
[17] R. Thakur, R. Ponnusamy, A. Choudhary, and G. Fox, “Complete Exchange on the CM-5 and Touchstone Delta,” J. Supercomputing, vol. 8, pp. 305-328, 1995.
[18] A. Wakatani and M. Wolfe, “A New Approach to Array Redistribution: Strip Mining Redistribution,” Proc. Parallel Architectures and Languages Europe, July 1994.

Index Terms:
Array redistribution, distributed-memory computers, High Performance Fortran (HPF), data distribution, runtime support.
Rajeev Thakur, Alok Choudhary, J. Ramanujam, "Efficient Algorithms for Array Redistribution," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 6, pp. 587-594, June 1996, doi:10.1109/71.506697
Usage of this product signifies your acceptance of the Terms of Use.