Copyright © 2002 Elsevier Science B.V. All rights reserved.
Elimination of redundant messages with a two-pass static analysis algorithm*1
Received 30 September 2000;
References and further reading may be available for this article. To view references and further reading you must purchase this article.
Abstract
Eliminating redundant messages in distributed programs leads to the reduction of communication overheads, 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.
Author Keywords: Redundant message elimination; Static analysis; Data-flow analysis; Parallel program optimisation; Distributed memory machine
Article Outline
- 1. Introduction
- 1.1. Distributed programs
- 1.2. Redundant messages
- 1.3. Comparison with related work
- 1.4. Paper overview
- 2. Program model and examples
- 3. Global data-flow analysis
- 3.1. Formalisation
- 3.2. Coefficients of the linear system
- 3.3. Computation of the system's coefficients
- 3.4. Substitution
- 3.5. Solving the system
- 3.6. Analysis of our example
- 4. Local elimination
- 5. An example: The wristwatch controller
- 6. Complexity analysis
- 7. Conclusion
- Acknowledgements
- References







E-mail Article
Add to my Quick Links

Cited By in Scopus (1)






