• DocumentCode
    1569208
  • Title

    Accurate and practical profile-driven compilation using the profile buffer

  • Author

    Conte, Thomas M. ; Menezes, Kishore N. ; Hirsch, Mary Ann

  • Author_Institution
    Dept. of Electr. & Comput. Eng., North Carolina State Univ., Raleigh, NC, USA
  • fYear
    1996
  • Firstpage
    36
  • Lastpage
    45
  • Abstract
    Profiling is a technique of gathering program statistics in order to aid program optimization. In particular, it is an essential component of compiler optimization for the extraction of instruction-level parallelism. Code instrumentation has been the most popular method of profiling. However real-time, interactive, and transaction processing applications suffer from the high execution-time overhead imposed by software instrumentation. This paper suggests the use of hardware dedicated to the task of profiling. The hardware proposed consists of a set of counters, the profile buffer. A profile collection method that combines the use of hardware, the compiler and operating system support is described. Three methods for profile buffer indexing, address-mapping, selective indexing, and compiler indexing are presented that allow this approach to produce accurate profiling information with very little execution slowdown. The profile information obtained is applied to a prominent compiler optimization, namely superblock scheduling. The resulting instruction-level parallelism approaches that obtained through the use of perfect profile information
  • Keywords
    instruction sets; optimising compilers; resource allocation; address-mapping; compiler indexing; compiler optimization; instruction-level parallelism; profile buffer; profile collection method; profile-driven compilation; program optimization; program statistics; selective indexing; software instrumentation; superblock scheduling; Application software; Counting circuits; Hardware; Indexing; Instruments; Operating systems; Optimizing compilers; Parallel processing; Program processors; Statistics;
  • 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.566448
  • Filename
    566448