Performing data flow analysis in parallel

The authors have designed a family of parallel dataflow analysis algorithms for execution on a message-passing MIMD (multiple instruction multiple data) architecture, based on general purpose, hybrid dataflow analysis algorithms. They have exploited the natural task partitioning of the hybrid algorithms and have explored a static mapping-dynamic scheduling strategy. Alternative mapping-scheduling choices and refinements of the flow graph condensation utilized are discussed. This parallel hybrid algorithm family is illustrated on the reaching definitions problem, although parallel algorithms also exist for many interprocedural (e.g., aliasing) and intraprocedural (e.g., available expressions) problems.<<ETX>>

[1]  Barbara G. Ryder,et al.  Profiling an Incremental Data Flow Analysis Algorithm , 1990, IEEE Trans. Software Eng..

[2]  F. Kenneth Zadeck,et al.  Incremental data flow analysis in a structured program editor , 1984, SIGPLAN '84.

[3]  Vivek Sarkar,et al.  Determining average program execution times and their variance , 1989, PLDI '89.

[4]  Monica Sin-Ling Lam,et al.  A Systolic Array Optimizing Compiler , 1989 .

[5]  Ken Kennedy,et al.  The impact of interprocedural analysis and optimization in the Rn programming environment , 1986, TOPL.

[6]  Thomas W. Reps,et al.  Integrating non-intering versions of programs , 1988, POPL '88.

[7]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[8]  A. M. van Tilborg Panel on future directions in parallel computer architecture , 1989, CARN.

[9]  Thomas R. Gross,et al.  Parallel compilation for a parallel machine , 1989, PLDI '89.

[10]  Jan Karel Lenstra,et al.  Complexity of Scheduling under Precedence Constraints , 1978, Oper. Res..

[11]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[12]  Barbara G. Ryder,et al.  Incremental data-flow analysis algorithms , 1988, TOPL.

[13]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[14]  Barbara G. Ryder ISMM: the incremental software maintenance manager , 1989, Proceedings. Conference on Software Maintenance - 1989.

[15]  Ken Kennedy,et al.  Parascope:a Parallel Programming Environment , 1988 .

[16]  Constantine D. Polychronopoulos,et al.  Parallel programming and compilers , 1988 .

[17]  Keith D. Cooper,et al.  Analyzing aliases of reference formal parameters , 1985, POPL.

[18]  Peter B. Henderson,et al.  Continuous execution: the VisiProg environment , 1985, ICSE '85.

[19]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[20]  David B. Wortman,et al.  Semantic analysis in a concurrent compiler , 1988, PLDI '88.

[21]  KennedyKen,et al.  The impact of interprocedural analysis and optimization in the Rn programming environment , 1986 .

[22]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[23]  M.I.T. Press,et al.  The International Journal of Supercomputer Applications— , 1992 .

[24]  Ken Kennedy,et al.  Efficient computation of flow insensitive interprocedural summary information , 1984, SIGPLAN '84.

[25]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[26]  A. M. van Tilborg Panel on future directions in parallel computer architecture , 1989 .

[27]  Milind Girkar,et al.  Parafrase-2: an Environment for Parallelizing, Partitioning, Synchronizing, and Scheduling Programs on Multiprocessors , 1989, Int. J. High Speed Comput..

[28]  Barbara G. Ryder,et al.  Elimination algorithms for data flow analysis , 1986, CSUR.

[29]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[30]  Barbara G. Ryder,et al.  An efficient hybrid algorithm for incremental data flow analysis , 1989, POPL '90.

[31]  Constantine D. Polychronopoulos,et al.  An efficient message-passing scheduler based on guided self scheduling , 1989, ICS '89.

[32]  Larry Melvin Masinter,et al.  Global program analysis in an interactive environment , 1979 .