Abstract:
Parallel data flow analysis methods offer the promise of calculating detailed semantic information about a program at compile-time more efficiently than sequential techniques. Previous work on parallel elimination methods [1, 2] has been hampered by the lack of control over interval size; this can prohibit effective parallel execution of these methods. To overcome this problem, we have designed the region analysis method, a new elimination method for data flow analysis. Region analysis emphasizes flow graph partitioning to enable better load balancing in a more effective parallel algorithm. In this paper, we present the design of region analysis and the empirical results we have obtained that indicate (1) the prevalence of large intervals in flow graphs derived from real programs, and (2) the performance improvement of region analysis over parallel Allen-Cocke interval analysis. Our implementation analyzed programs from the Perfect Benchmarks [3] and netlib [4] running on a Sequent Sym...
Citations
|
7271
|
Computers and Intractability - A Guide to the Theory of NP-Completeness
– Garey, Johnson
- 1979
|
|
972
|
Program slicing
– Weiser
- 1984
|
|
547
|
Interprocedural slicing using dependence graphs
– Horwitz, Reps, et al.
- 1990
|
|
398
|
Supercompilers for Parallel and Vector Computers
– Zima, Chapman
- 1990
|
|
289
|
Advanced Compiler Optimizations for Supercomputers
– Padua, Wolfe
- 1986
|
|
263
|
Flow Analysis of Computer Programs
– Hecht
- 1977
|
|
238
|
The program dependence graph in a software development environment
– Ottenstein, Ottenstein
|
|
233
|
Global optimizations for parallelism and locality on scalable parallel machines
– Anderson, Lam
- 1993
|
|
215
|
Integrating non{interfering versions of programs
– Horwitz, Prins, et al.
- 1989
|
|
120
|
ParaScope: A Parallel Programming Environment
– Callahan, Cooper, et al.
- 1988
|
|
105
|
An overview of the ptran analysis system for multiprocessing
– Allen, Burke, et al.
- 1988
|
|
95
|
Distribution of mathematical software via electronic mail
– Dongarra, Grosse
- 1987
|
|
87
|
The semantic approach to program slicing
– VENKATESH
- 1991
|
|
86
|
A program data flow analysis procedure
– Allen, Cocke
- 1976
|
|
82
|
Fast algorithms for solving path problems
– Tarjan
- 1981
|
|
74
|
An interval-based approach to exhaustive and incremental interprocedural data-flow analysis
– Burke
- 1990
|
|
73
|
Testing flow graph reducibility
– Tarjan
- 1974
|
|
64
|
Supercomputer performance evaluation and the perfect benchmarks
– Cybenko, Kipp, et al.
- 1990
|
|
55
|
Efficient Computation of Interprocedural Definition-Use Chains
– Harrold, Soffa
- 1994
|
|
49
|
Elimination algorithms for data flow analysis
– Ryder, Paull
- 1986
|
|
37
|
A Linear Time Algorithm for Finding Dominators in Flow Graphs and Related Problems
– Harel
- 1985
|
|
11
|
On the sequential nature of interprocedural program-analysis problems
– Reps
- 1996
|
|
10
|
Ismm: Incremental software maintenance manager
– Ryder
- 1989
|
|
8
|
Experiences with a parallel algorithm for data flow analysis
– Lee, Marlowe, et al.
- 1991
|
|
7
|
The Combining DAG: A Technique for Parallel Data Flow Analysis
– Kramer, Gupta, et al.
- 1994
|
|
7
|
Effectively exploiting parallelism in data flow analysis
– Lee, Ryder
- 1994
|
|
6
|
Parallelizing data flow analysis
– Gupta, Pollock, et al.
- 1990
|
|
6
|
Data flow based test adequecy analysis for languages with pointers
– Ostrand, Weyuker
- 1991
|
|
5
|
Performing data flow analysis in parallel
– Lee
- 1992
|
|
3
|
Parallel interval analysis of data flow equations
– Zobel
- 1990
|
|
3
|
Endre Tarjan, "A fast algorithm for finding dominators in a flowgraph
– Lengauer, Robert
- 1979
|
|
1
|
Differences in algorithmic parallelism in control flow and call multigraphs
– Sgro, Ryder
- 1994
|