• DocumentCode
    2704990
  • Title

    Practical path profiling for dynamic optimizers

  • Author

    Bond, Michael D. ; McKinley, Kathryn S.

  • Author_Institution
    Dept. of Comput. Sci., Texas Univ., Austin, TX, USA
  • fYear
    2005
  • fDate
    20-23 March 2005
  • Firstpage
    205
  • Lastpage
    216
  • Abstract
    Modern processors are hungry for instructions. To satisfy them, compilers need to find and optimize execution paths across multiple basic blocks. Path profiles provide this context, but their high overhead has so far limited their use by dynamic compilers. We present new techniques for low overhead online practical path profiling (PPP). Following targeted path profiling (TPP), PPP uses an edge profile to simplify path profile instrumentation (profile-guided profiling). PPP improves over prior work by (1) reducing the amount of profiling instrumentation on cold paths and paths that the edge profile predicts well and (2) reducing the cost of the remaining instrumentation. Experiments in an ahead-of-time compiler perform edge profile-guided inlining and unrolling prior to path profiling instrumentation. These transformations are faithful to staged optimization, and create longer, harder to predict paths. We introduce the branch-flow metric to measure path flow as a function of branch decisions, rather than weighting all paths equally as in prior work. On SPEC2000, PPP maintains high accuracy and coverage, but has only 5% overhead on average (ranging from -3% to 13%), making it appealing for use by dynamic compilers.
  • Keywords
    instruction sets; optimising compilers; parallel architectures; branch-flow metric; dynamic compilers; dynamic optimizer; edge profile; optimizing compilers; path profile instrumentation; practical path profiling; program compilers; targeted path profiling; Accuracy; Bonding; Computer aided instruction; Costs; Dynamic compiler; Fluid flow measurement; Instruments; Optimizing compilers; Program processors; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2005. CGO 2005. International Symposium on
  • Print_ISBN
    0-7695-2298-X
  • Type

    conf

  • DOI
    10.1109/CGO.2005.28
  • Filename
    1402089