This paper presents a new approach for optimizing communication of data parallel programs. Our techniques are based on unidirectional bit-vector data ow analyses that enable vectorizing, coalescing and aggregating communication, and overlapping communication with computation both within and across loop nests. Previous techniques are based on xed communication optimization strategies whose quality is very sensitive to changes of machine and problem sizes. Our algorithm is novel in that we carefully examine tradeo s between enhancing communication latency hiding and reducing the number and volume of messages by systematically evaluating a reasonable set of promising communication placements for a given program covering several (possibly con icting) communication guiding pro t motives. We use P 3 T, a state-of-the-art performance estimator, to ensure communication bu er-safety and to nd the best communication placement of all created ones. Employing an accurate performance estimator opens ground for more aggressive communication optimization opportunities that carefully examine performance gains and tradeo s among applicable optimization strategies which is not achievable with any existing approach. First results show that our method implies a signi cant reduction in communication costs and demonstrate the e ectiveness of this analysis in improving the performance of programs.
The communication optimization approach presented by Fahringer and Mehofer REF uses code motion as well for trying to find a good compromise between enhancing communication latency hiding and reducing the number of messages.
Buffer-Safe and Cost-Driven Communication Optimization
Journal of Parallel and Distributed Computing, Academic Press
Computer Science