Abstract
The use of distributed memory architectures as an effective approach to parallel computing brings with it a more complex program development process. Finding a partitioning of program code and data that supports sufficient parallelism without incurring prohibitive communication costs is a challenging and critical step in the development of programs for distributed memory systems. Automatic data distribution techniques have the goal of placing the responsibility of determining a suitable data partitioning into the domain of the compiler. Static program analysis techniques that expose data interrelationships and derive performance estimates are central to the development of automatic data distribution heuristics. In this paper we present a data partitioning heuristic that makes use of array data flow analysis information in the modeling of data interrelationships and the estimation of costs associated with resolving interrelationships via communication. The global view provided by data flow analysis permits consideration of potential communication optimizations before data partitioning decisions are made. Our heuristic uses tiling techniques to determine data partitionings. The resulting data distributions, while still regular, are not limited to the standard BLOCK, CYCLIC and BLOCK-CYCLIC varieties. Preliminary results indicate an overall reduction in communication cost with our technique.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
S.P. Amarashinge, J.M. Anderson, M.S. Lam, and C.W. Tseng. “The SUIF Compiler for Scalable Parallel Machines„. In Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientific Computing, Feb. 1995.
Jennifer M. Anderson and Monica S. Lam. “Global Optimizations for Parallelism and Locality on Scalable Parallel Machines„. In ACM SIGPLAN’ 93 Conference on Programming Language Design and Implementation, pages 112–125, Albuquerque, NM, Jun. 1993.
Eduard Ayguade, Jordi Garcia, Merce Girones, M. Luz Grande, and Jesus Labarta. “Data Redistribution in an Automatic Data Distribution Tool. In Proceedings of the 8th Workshop on Languages and Compilers for Parallel Computing, pages 407–421, Columbus, Ohio, Aug. 1995.
R. Bixby, K. Kennedy, and U. Kremer. “Automatic Data Layout Using 0-1 Integer Programming„. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT94), pages 111–122, Montreal, Canada, Aug. 1994.
D. Callahan and K. Kennedy. “Compiling Programs for Distributed-Memory Multiprocessors„. The Journal of SuperComputing, 2, 1988.
Barbara M. Chapman, Thomas Fahringer, and Hans P. Zima. “Automatic Support for Data Distribution on Distributed Memory Multiprocessor Systems„. In Proceedings of the 6th Workshop on Languages and Compilers for Parallel Computing, pages 184–199, Portland, Oregon, Aug. 1993.
S. Chatterjee, J. R. Gilbert, R. Schreiber, and T.J. Sheffler. “Array Distribution in Data-Parallel Programs„. In Proceedings of the 7th Workshop on Languages and Compilers for Parallel Computing, pages 76–91, 1994.
Ron Cytron, Jeanne Ferrante, Barry Rosen, Mark N. Wegman, and F. Kenneth Zadeck. “Efficiently Computing Static Single Assignment Form and the Control Dependence Graph„. In ACM Transactions on Programming Languages and Systems, volume 13, pages 451–490, Oct. 1991.
Thomas Gross and Peter Steenkiste. “Structured Dataflow Analysis for Arrays and its Use in an Optimizing Compilers„. Software Practice and Experience, 20(2):133–155, Feb. 1990.
Manish Gupta and Prithviraj Banerjee. “Demonstration of Automatic Data Partitioning Techniques for Parallelizing Compilers on Multicomputers„. IEEE Transactions on Parallel and Distributed Systems, 3(2):179–193, Mar. 1992.
Richard Johnson and Keshav Pingali. “Dependence-Based Program Analysis„. In ACM SIGPLAN’ 93 Conference on Programming Language Design and Implementation, pages 78–89, Jun. 1993.
M. Kandemir, J. Ramanujam, and A. Choudhary. “Compiler Algorithms for Optimizing Locality and Parallelism on Shared and Distributed Memory Machines„. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT97), San Francisco, CA, Nov. 1997.
Kathleen Knobe, Joan D. Lukas, and Guy L. Steele Jr. “Data Optimization: Allocation of Arrays to Reduce Communication on SIMD Machines„. Journal of Parallel and Distributed Computing, 8:102–118, 1990.
Uli Kremer. “NP-completeness of Dynamic Remapping„. In Proceedings of the Fourth Workshop on Compilers for Parallel Computers, The Netherlands, Dec. 1993.
Daniel J. Palermo and Prithviraj Banerjee. “Automatic Selection of Dynamic Data Partitioning Schemes for Distributed-Memory Multipcomputers„. In Proceedings of the 8th Workshop on Languages and Compilers for Parallel Computing, pages 392–406, Columbus, OH, Aug. 1996.
J. Ramanujam and P. Sadayappan. “Nested Loop Tiling for Distributed Memory Machines„. In 5th Distributed Memory Computing Conference, pages 1088–1096, Charleston, SC, Apr. 1990.
Thomas J. Sheffler, Robert Schreiber, William Pugh, John R. Gilbert, and Siddhartha Chatterjee. “Efficient Distribution Analysis via Graph Contraction„. In Frontiers’ 95: The 5th Symposium on the Frontiers of Massively Parallel Computation, pages 377–391, McLean, VA, Feb. 1995.
X. Yuan, R. Gupta, and R. Melhem. “An Array Data Flow Analysis based Communication Optimizer„. In Proceedings of the 10th Workshop on Languages and Compilers for Parallel Computing, Minneapolis, MN, Aug. 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tims, J., Gupta, R., Lou Soffa, M. (1998). Data Flow Analysis Driven Dynamic Data Partitioning. In: O’Hallaron, D.R. (eds) Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 1998. Lecture Notes in Computer Science, vol 1511. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49530-4_6
Download citation
DOI: https://doi.org/10.1007/3-540-49530-4_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65172-7
Online ISBN: 978-3-540-49530-7
eBook Packages: Springer Book Archive