Memory storage patterns in parallel processing
Memory storage patterns in parallel processing
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Finite difference schemes and partial differential equations
Finite difference schemes and partial differential equations
Data optimization: allocation of arrays to reduce communication on SIMD machines
Journal of Parallel and Distributed Computing - Massively parallel computation
A static performance estimator to guide data partitioning decisions
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
A data locality optimizing algorithm
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
The data alignment phase in compiling programs for distributed-memory machines
Journal of Parallel and Distributed Computing
Compiling Fortran D for MIMD distributed-memory machines
Communications of the ACM
Automatic data mapping for distributed-memory parallel computers
ICS '92 Proceedings of the 6th international conference on Supercomputing
Global optimizations for parallelism and locality on scalable parallel machines
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Automatic array alignment in data-parallel programs
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The high performance Fortran handbook
The high performance Fortran handbook
Communication-free hyperplane partitioning of nested loops
Journal of Parallel and Distributed Computing
Dynamic data distributions in Vienna Fortran
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Mobile and replicated alignment of arrays in data-parallel programs
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
Automatic data allocation to minimize communication on SIMD machines
The Journal of Supercomputing
Techniques for compiling programs on distributed memory multicomputers
Parallel Computing
Compiling array expressions for efficient execution on distributed-memory machines
Journal of Parallel and Distributed Computing
A Systolic Array Parallelizing Compiler
A Systolic Array Parallelizing Compiler
Compiling Parallel Loops for High Performance Computers: Partitioning, Data Assignment, and Remapping
Compiling Communication-Efficient Programs for Massively Parallel Machines
IEEE Transactions on Parallel and Distributed Systems
A Loop Transformation Theory and an Algorithm to Maximize Parallelism
IEEE Transactions on Parallel and Distributed Systems
Compile-Time Techniques for Data Distribution in Distributed Memory Machines
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Parallel and Distributed Systems
Communication-Free Data Allocation Techniques for Parallelizing Compilers on Multicomputers
IEEE Transactions on Parallel and Distributed Systems
Automatic Support for Data Distribution on Distributed Memory Multiprocessor Systems
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Efficient Algorithms for data Distribution on Distributed Memory Multicomputers
Proceedings of the 1994 International Conference on Parallel and Distributed Systems
Automatic Data Layout Using 0-1 Integer Programming
PACT '94 Proceedings of the IFIP WG10.3 Working Conference on Parallel Architectures and Compilation Techniques
HICSS '96 Proceedings of the 29th Hawaii International Conference on System Sciences Volume 1: Software Technology and Architecture
IEEE Transactions on Parallel and Distributed Systems
Automatic data and computation decomposition on distributed memory parallel computers
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Journal of Supercomputing
Performance Surface Prediction for WAN-Based Clusters
The Journal of Supercomputing
Optimization of Data Distribution and Processor Allocation Problem Using Simulated Annealing
The Journal of Supercomputing
IEEE Transactions on Parallel and Distributed Systems
A Data-Re-Distribution Library for Multi-Processor Task Programming
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 8 - Volume 09
Memetic algorithms for parallel code optimization
International Journal of Parallel Programming
Inferring arbitrary distributions for data and computation
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
Automatic data distribution for improving data locality on the cell BE architecture
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
Data distribution has been one of the most important research topics in parallelizing compilers for distributed memory parallel computers. Good data distribution schema should consider both the computation load balance and the communication overhead. In this paper, we show that data redistribution is necessary for executing a sequence of Do-loops if the communication cost due to performing this sequence of Do-loops is larger than a threshold value. Based on this observation, we can prune the searching space and derive efficient dynamic programming algorithms for determining effective data distribution schema to execute a sequence of Do-loops with a general structure. Experimental studies on a 32-node nCUBE-2 computer are also presented.