• DocumentCode
    3292966
  • Title

    ProfileMe: hardware support for instruction-level profiling on out-of-order processors

  • Author

    Dean, Jeffrey ; Hicks, James E. ; Waldspurger, Carl A. ; Weihl, William E. ; Chrysos, George

  • Author_Institution
    Western Res. Lab., Digital Equipment Corp., Palo Alto, CA, USA
  • fYear
    1997
  • fDate
    1-3 Dec 1997
  • Firstpage
    292
  • Lastpage
    302
  • Abstract
    Profile data is valuable for identifying performance bottlenecks and guiding optimizations. Periodic sampling of a processor´s performance monitoring hardware is an effective, unobtrusive way to obtain detailed profiles. Unfortunately, existing hardware simply counts events, such as cache misses and branch mispredictions, and cannot accurately attribute these events to instructions, especially on out-of-order machines. We propose an alternative approach, called ProfileMe, that samples instructions. As a sampled instruction moves through the processor pipeline, a detailed record of all interesting events and pipeline stage latencies is collected. ProfileMe also supports paired sampling, which captures information about the interactions between concurrent instructions, revealing information about useful concurrency and the utilization of various pipeline stages while an instruction is in flight. We describe an inexpensive hardware implementation of ProfileMe, outline a variety of software techniques to extract useful profile information from the hardware, and explain several ways in which this information can provide valuable feedback for programmers and optimizers
  • Keywords
    computer architecture; instruction sets; microprogramming; optimisation; performance evaluation; ProfileMe; branch mispredictions; cache misses; concurrent instructions; hardware support; instruction-level profiling; optimizations; out-of-order processors; paired sampling; performance bottlenecks; pipeline stage latencies; processor performance monitoring hardware; processor pipeline; Concurrent computing; Data mining; Delay; Feedback; Hardware; Monitoring; Out of order; Pipelines; Programming profession; Sampling methods;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Microarchitecture, 1997. Proceedings., Thirtieth Annual IEEE/ACM International Symposium on
  • Conference_Location
    Research Triangle Park, NC
  • ISSN
    1072-4451
  • Print_ISBN
    0-8186-7977-8
  • Type

    conf

  • DOI
    10.1109/MICRO.1997.645821
  • Filename
    645821