• DocumentCode
    1569556
  • Title

    Profile-driven instruction level parallel scheduling with application to super blocks

  • Author

    Chekuri, C. ; Johnson, R. ; Motwani, R. ; Natarajan, B. ; Ran, B.R. ; Schlansker, M.

  • Author_Institution
    Dept. of Comput. Sci., Stanford Univ., CA, USA
  • fYear
    1996
  • Firstpage
    58
  • Lastpage
    67
  • Abstract
    Code scheduling to exploit instruction level parallelism (ILP) is a critical problem in compiler optimization research in light of the increased use of long-instruction-word machines. Unfortunately optimum scheduling is computationally intractable, and one must resort to carefully crafted heuristics in practice. If the scope of application of a scheduling heuristic is limited to basic blocks, considerable performance loss may be incurred at block boundaries. To overcome this obstacle, basic blocks can be coalesced across branches to form larger regions such as super blocks. In the literature, these regions are typically scheduled using algorithms that are either oblivious to profile information (under the assumption that the process of forming the region has fully utilized the profile information), or use the profile information as an addendum to classical scheduling techniques. We believe that even for the simple case of linear code regions such as super blocks, additional performance improvement can be gained by utilizing the profile information in scheduling as well. We propose a general paradigm for converting any profile-insensitive list scheduler to a profile-sensitive scheduler. Our technique is developed via a theoretical analysis of a simplified abstract model of the general problem of profile-driven scheduling over any acyclic code region, yielding a scoring measure for ranking branch instructions
  • Keywords
    optimising compilers; parallel algorithms; resource allocation; abstract model; code scheduling; compiler optimization; linear code regions; long-instruction-word machines; optimum scheduling; profile-driven instruction level parallel scheduling; profile-sensitive scheduler; ranking branch instructions; scheduling heuristic; Hardware; Linear code; Milling machines; Optimizing compilers; Parallel processing; Performance loss; Probability; Processor scheduling; Scheduling algorithm; VLIW;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1996. MICRO-29.Proceedings of the 29th Annual IEEE/ACM International Symposium on
  • Conference_Location
    Paris
  • Print_ISBN
    0-8186-7641-8
  • Type

    conf

  • DOI
    10.1109/MICRO.1996.566450
  • Filename
    566450