Optimal evaluation of array expressions on massively parallel machines
- 1 January 1995
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 17 (1) , 123-156
- https://doi.org/10.1145/200994.201004
Abstract
We investigate the problem of evaluating Fortran 90-style array expressions on massively parallel distributed-memory machines. On such a machine, an elementwise operation can be performed in constant time for arrays whose corresponding elements are in the same processor. If the arrays are not aligned in this manner, the cost of aligning them is part of the cost of evaluating the expression tree. The choice of where to perform the operation then affects this cost. We describe the communication cost of the parallel machine theoretically as a metric space; we model the alignment problem as that of finding a minimum-cost embedding of the expression tree into this space. We present algorithms based on dynamic programming that solve the embedding problem optimally for several communication cost metrics: multidimensional grids and rings, hypercubes, fat-trees, and the discrete metric. We also extend our approach to handle operations that change the shape of the arrays.Keywords
This publication has 15 references indexed in Scilit:
- Implementation of a Portable Nested Data-Parallel LanguageJournal of Parallel and Distributed Computing, 1994
- The alignment-distribution graphPublished by Springer Nature ,1994
- Compiling nested data-parallel programs for shared-memory multiprocessorsACM Transactions on Programming Languages and Systems, 1993
- Efficiently computing static single assignment form and the control dependence graphACM Transactions on Programming Languages and Systems, 1991
- Optimal expression evaluation for data parallel architecturesJournal of Parallel and Distributed Computing, 1991
- Data optimization: Allocation of arrays to reduce communication on SIMD machinesJournal of Parallel and Distributed Computing, 1990
- The torus routing chipDistributed Computing, 1986
- A linear time algorithm for full steiner treesOperations Research Letters, 1986
- Fat-trees: Universal networks for hardware-efficient supercomputingIEEE Transactions on Computers, 1985
- Minimum Mutation Fits to a Given TreePublished by JSTOR ,1973