Limits and Graph Structure of Available Instruction-Level Parallelism (Research Note)

We reexamine the limits of parallelism available in programs, using run-time reconstruction of program data-flow graphs. While limits of parallelism have been examined in the context of superscalar and VLIW machines, we also wish to study the causes of observed parallelism by examining the structure of the reconstructed data-flow graph. One aspect of structure analysis that we focus on is the isolation of instructions involved only in address calculations. We examine how address calculations present in RISC instruction streams generated by optimizing compilers affect the shape of the data-flow graph and often significantly reduce available parallelism.

[1]  David A. Patterson,et al.  Computer architecture (2nd ed.): a quantitative approach , 1996 .

[2]  Jack W. Davidson,et al.  Improving instruction-level parallelism by loop unrolling and dynamic memory disambiguation , 1995, MICRO.

[3]  Gary S. Tyson,et al.  The limits of instruction level parallelism in SPEC95 applications , 1999, CARN.

[4]  Alexandru Nicolau,et al.  Measuring the Parallelism Available for Very Long Instruction Word Architectures , 1984, IEEE Transactions on Computers.

[5]  Margaret Martonosi,et al.  On Availability of Bit-Narrow Operations in General-Purpose Applications , 2000, FPL.

[6]  Michael Gschwind,et al.  Optimizations and oracle parallelism with dynamic translation , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[7]  Norman P. Jouppi,et al.  The Nonuniform Distribution of Instruction-Level and Machine Parallelism and Its Effect on Performance , 1989, IEEE Trans. Computers.

[8]  Michael D. Smith,et al.  Limits on multiple instruction issue , 1989, ASPLOS 1989.

[9]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[10]  ScalesHunter,et al.  Single instruction stream parallelism is greater than two , 1991 .

[11]  David W. Wall,et al.  Limits of instruction-level parallelism , 1991, ASPLOS IV.

[12]  Monica S. Lam,et al.  Limits of control flow on parallelism , 1992, ISCA '92.

[13]  Michael D. Smith,et al.  Limits on multiple instruction issue , 1989, ASPLOS III.

[14]  Stephen W. Keckler,et al.  The M-Machine multicomputer , 1995, MICRO 1995.

[15]  Edward M. Riseman,et al.  Percolation of Code to Enhance Parallel Dispatching and Execution , 1972, IEEE Transactions on Computers.

[16]  Y. Patt,et al.  Single instruction stream parallelism is greater than two , 1991, [1991] Proceedings. The 18th Annual International Symposium on Computer Architecture.

[17]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[18]  Todd M. Austin,et al.  Dynamic dependency analysis of ordinary programs , 1992, ISCA '92.