A technique to eliminate redundant inter-processor communication on parallelizing compiler TINPAR
Optimizing inter-processor(PE) communication is crucial for parallelizing compilers for message-passing parallel machines to achieve high performance. In this paper, we propose a technique to eliminate redundant inter-PE messages. This technique utilizes a data-flow analysis to find a definition point that corresponds to a use point where the definition and the use are occurred in different PEs. If several read accesses occurred in the same PE use the data defined at the same definition point in another PE, redundant inter-PE messages are eliminated as follows: only one inter-PE communication is performed for the earliest read access and the previously received data axe used for the following read accesses. In order to guarantee the consistency of the data, a valid flag and a sent flag are provided for each chunk of received data. The control of these flags is equivalent to the coherence control by the self invalidation on a compiler aided cache coherence scheme.
keywordsparallelizing compiler message-passing multiprocessor dependence analysis data-flow analysis message coalescing
Unable to display preview. Download preview PDF.
- 1.High Performance Fortran Forum. High Performance Fortran language specification (ver. 2.0). Technical report, January 1997.Google Scholar
- 3.Atsushi Kubota, Ikuo Miyoshi, Koji Maeyama, Shin ya Goto, Shin ichiro Mori, Hiroshi Nakashima, and Shinji Tomita. TINPAR: A parallelizing compiler for messagepassing multiprocessors. In Proc. of Int'l Symposium on Parallel and Distributed Supercomputing, pages 214–223, September 1995.Google Scholar
- 4.Dror E. Maydan, Saman P. Amarasinghe, and Monica S. Lam. Array data-flow analysis and its use in array privatization. In 20'th Annual ACM Symposium on Principles of Programming Languages, pages 2–15, January 1993.Google Scholar