Abstract
In this paper we extend Percolation Scheduling (PS) to navigate through a hierarchical version of the Control Flow Graph (CFG) representation of a VLIW program. This extension retains the completeness of PS by allowing the “normal” PS transformations to be applied incrementally between adjacent instructions but also enablesnonincremental code motions across arbitrarily large single-entry/single-exit regions of code in constant time. Such nonincremental transformations eliminate the useless code explosions that would otherwise be caused by using incremental transformations to move operations through regions containing multiple control paths and, in conjunction with the hierarchical representation of the CFG, provide a framework for trading offuseful code explosions for increases in parallelism. Simulation results comparing nonincremental with incremental PS are presented.
Similar content being viewed by others
References
A. Nicolau, Uniform parallelism exploitation in ordinary programs,ICPP (1985).
A. S. Aiken, Compaction-Based Parallelization, Ph.D. thesis, Cornell University (1988).
S. Moon and K. Ebcioglu, An efficient resource constrained global scheduling technique for superscalar and vliw processors,MICRO, Portland, Oregon (December 1992).
S. Novack and A. Nicolau, An efficient global resource constrained technique for exploiting instruction level parallelism,ICPP, St. Charles, Illinois (August 1992).
R. Potasman, Percolation-Based Compiling for Evaluation of Parallelism and Hardware Design Trade-Offs. Ph.D. thesis, University of California, Irvine (1991).
K. Ebcioglu and T. Nakatani, A new compilation technique for parallelizing loops with unpredictable branches on a vliw, architecture,Proc. of the 2nd Workshop on Programming Languages and Compilers for Parallel Computing, Urbana, Illinois (1989).
M. Breternitz, Architecture Synthesis of High-Performance Applications-specific Processors. Ph.D. thesis, Carnegie-Mellon University (1991).
G. Bockle, A development environment for fine-grained parallelism extraction.Proc. of the 3rd Workshop on Compilers for Parallel Computers, Vienna, Austria (1992).
M. Girkar and C. D. Polychronopoulos, Automatic extraction of functional parallelism from ordinary programs,TOPADS,3(2):166–178 (March 1992).
A. Nicolau, R. Potasman, and H. Wang, Register allocation, renaming and their impact on parallelism.Lang. and Compilers for Par. Comp., No. 589 inLNCS Series, Springer-Verlag (1991).
K. Ebcioglu and A. Nicolau,A global resource-constrained parallelization technique,ICS, Crete, Greece (June 1989).
D. Bernstein, D. Cohen, and H. Krawczyk, Code duplication: An assist for global instruction scheduling,MICRO (1991).
T. Nakatani and K. Ebcioglu, Using a lookahead window in a compaction-based parallelizing compiler,MICRO (1990).
K. Pingali, M. Beck, R. Johnson, M. Moudgill, and P.Stodghill, Dependence flow graphs: an algebraic approach to program dependencies, In A. Nicolau, D. Gelernter, T. Gross, and D. Padua, (eds),Advances in Languages and Compilers for Parallel Processing, Chapter 23, MIT Press (1991).
J. Ferrante, K. J. Ottenstein, and J. D. Warren, The program dependence graph and its use in optimization.TOPLAS,9(3):319–349 (July 1987).
R. Cytron and J. Ferrante What's in a name?ICPP, pp. 19–27 (August 1987).
R. Gupta and M. L. Soffa, Region scheduling: An approach for detecting and redistributing parallelism,TOSE,16(4) (April 1990).
A. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques and Tools, Addison-Wesley, Reading, Massachusetts (1986).
J. A. Fisher, Very long instruction word architectures and the eli-512,Proc. of the 10th Ann. Int. Archit. Conf., Stockholm (June 1983).
K. Ebcioglu, Some design ideas for a vliw architecture for sequential-natured software. InIFIP Proc. (1988).
A. Nicolau and R. Potasman, Realistic scheduling: Compaction for pipelines architectures.Proc. of the 23rd Ann. Workshop on Microprogramming, Orlando, Florida (November 1990).
D. A. Padua and M. J. Wolfe, Advanced compiler optimizations for supercomputers.Comm. of the ACM 29(12):1184–1201 (December 1986).
M. Girkar, Functional Parallelism: Theoretical Foundations and Implementations, Ph.D. thesis, Univ. of Illinois, Urbana-Champaign (1991).
A. Aiken and A. Nicolau, Perfect pipelining: A new loop parallelization technique, inProc. of the European Symp. on Programming, No. 300 in LNCS Series, Springer-Verlag (March 1988).
Author information
Authors and Affiliations
Additional information
This work was supported in part by NSF Grant CCR8704367 and ONR Grant N0001486K0215.
Rights and permissions
About this article
Cite this article
Novack, S., Nicolau, A. A hierarchical approach to instruction-level parallelization. Int J Parallel Prog 23, 35–62 (1995). https://doi.org/10.1007/BF02577783
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02577783