Elimination of redundant messages with a two-pass static analysis algorithm


Alain Girault
Parallel Computing
Volume 28, Issue 3, March 2002, pp 433-453

Abstract

Eliminating redundant messages in distributed programs leads to the reduction of communication overhead, and thus to the improvement of the overall performances of the distributed program. Therefore, a lot of work has been done recently to achieve this goal. In this paper, we present an algorithm for eliminating redundant messages in parallel programs that have been distributed automatically. This algorithm works on program whose control flow is as general as possible, i.e., contains gotos. Precisely, the control flow is a finite deterministic automaton with a DAG of actions in each state. Our algorithm proceeds in two passes: First a global data-flow analysis which computes, for each state of the automaton, the set of distant variables that are known at the beginning of the state. Then a local elimination which removes redundant messages locally in each state of the automaton. We present the algorithms as well as the corresponding time and memory costs.

BibTeX entry

@Article{Gir02,
  author = 	 {A. Girault},
  title = 	 {Elimination of Redundant Messages with a Two-Pass
                  Static Analysis Algorithm},
  journal = 	 {Parallel Computing},
  year = 	 {2002},
  volume =	 {28},
  number =	 {3},
  month =	 {March},
  pages =	 {433--453},
}

[PDF] [Postscript]


Send comments to Alain Girault at Alain.Girault@inrialpes.fr.