• DocumentCode
    3375036
  • Title

    Using branch handling hardware to support profile-driven optimization

  • Author

    Conte, Thomas M. ; Patel, Burzin A. ; Cox, J. Stan

  • Author_Institution
    Dept. of Electr. & Comput. Eng., South Carolina Univ., Columbia, SC, USA
  • fYear
    1994
  • fDate
    30 Nov.-2 Dec. 1994
  • Firstpage
    12
  • Lastpage
    21
  • Abstract
    Profile-based optimizations can be used for instruction scheduling, loop scheduling, data preloading, function in-lining, and instruction cache performance enhancement. However, these techniques have not been embraced by software vendors because programs instrumented for profiling run 2-30 times slower, an awkward compile-run-recompile sequence is required, and a test input suite must be collected and validated for each program. This paper proposes using existing branch handling hardware to generate profile information in real time. Techniques are presented for both one-level and two-level branch hardware organizations. The approach produces high accuracy with small slowdown in execution (0.4%-4.6%). This allows a program to be profiled while it is used, eliminating the need for a test input suite. This practically removes the inconvenience of profiling. With contemporary processors driven increasingly by compiler support, hardware-based profiling is important for high-performance systems.
  • Keywords
    optimisation; program compilers; scheduling; branch handling hardware; compile-run-recompile sequence; data preloading; function in-lining; high-performance systems; instruction cache performance enhancement; instruction scheduling; loop scheduling; profile-driven optimization; software vendors; Application software; Databases; Hardware; Instruments; Optimization methods; Optimizing compilers; Permission; Probes; Processor scheduling; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1994. MICRO-27. Proceedings of the 27th Annual International Symposium on
  • ISSN
    1072-4451
  • Print_ISBN
    0-89791-707-3
  • Type

    conf

  • DOI
    10.1109/MICRO.1994.717402
  • Filename
    717402