THE COMBINING DAG - A TECHNIQUE FOR PARALLEL DATA-FLOW ANALYSIS

Citation
R. Kramer et al., THE COMBINING DAG - A TECHNIQUE FOR PARALLEL DATA-FLOW ANALYSIS, IEEE transactions on parallel and distributed systems, 5(8), 1994, pp. 805-813
Citations number
18
Categorie Soggetti
System Science","Engineering, Eletrical & Electronic","Computer Science Theory & Methods
ISSN journal
10459219
Volume
5
Issue
8
Year of publication
1994
Pages
805 - 813
Database
ISI
SICI code
1045-9219(1994)5:8<805:TCD-AT>2.0.ZU;2-M
Abstract
As the number of available multiprocessors increases, so does the impo rtance of providing software support for these systems, including para llel compilers. Data flow analysis, an important component of software tools, may be computed many times during the compilation of a program , especially when compiling for a multiprocessor. Although converting a sequential data flow algorithm to a parallel algorithm can present s ome opportunities for computing data flow in parallel, more parallelis m can be exposed by the development of new parallel data flow algorith ms. In this paper, we present a technique that computes rapid data flo w problems in parallel and thus is applicable for commonly used classi cal data flow problems, including reaching definitions, reachable uses , available expressions, and very busy expressions. Unlike previous te chniques, our technique exploits the inherent parallelism in the data flow computation that occurs across independent paths, within linear p aths, and in paths through loops of a control flow graph. The techniqu e first changes cyclic structures in a control flow graph to acyclic s tructures and then builds a combining directed acyclic graph (DAG) tha t represents the paths through the control flow graph needed to comput e data flow. Data flow is then computed using two passes over the DAG by computing the data flow for the nodes on each level of the DAG in p arallel. We also present experimental results comparing the performanc e of our algorithm with a sequential algorithm and a parallelized sequ ential algorithm.