• DocumentCode
    2235700
  • Title

    Shadow Profiling: Hiding Instrumentation Costs with Parallelism

  • Author

    Moseley, Tipp ; Shye, Alex ; Reddi, Vijay Janapa ; Grunwald, Dirk ; Peri, Ramesh

  • Author_Institution
    Dept. of Comput. Sci., Colorado Univ., Boulder, CO
  • fYear
    2007
  • fDate
    11-14 March 2007
  • Firstpage
    198
  • Lastpage
    208
  • Abstract
    In profiling, a tradeoff exists between information and overhead. For example, hardware-sampling profilers incur negligible overhead, but the information they collect is consequently very coarse. Other profilers use instrumentation tools to gather temporal traces such as path profiles and hot memory streams, but they have high overhead. Runtime and feedback-directed compilation systems need detailed information to aggressively optimize, but the cost of gathering profiles can outweigh the benefits. Shadow profiling is a novel method for sampling long traces of instrumented code in parallel with normal execution, taking advantage of the trend of increasing numbers of cores. Each instrumented sample can be many millions of instructions in length. The primary goal is to incur negligible overhead, yet attain profile information that is nearly as accurate as a perfect profile. The profiler requires no modifications to the operating system or hardware, and is tunable to allow for greater coverage or lower overhead. We evaluate the performance and accuracy of this new profiling technique for two common types of instrumentation-based profiles: interprocedural path profiling and value profiling. Overall, profiles collected using the shadow profiling framework are 94% accurate versus perfect value profiles, while incurring less than 1% overhead. Consequently, this technique increases the viability of dynamic and continuous optimization systems by hiding the high overhead of instrumentation and enabling the online collection of many types of profiles that were previously too costly
  • Keywords
    program compilers; feedback-directed compilation systems; hardware-sampling profilers; instrumentation cost hiding; operating system; runtime-directed compilation systems; shadow profiling; Computer science; Cost function; Environmental management; Hardware; Instruments; Operating systems; Optimizing compilers; Parallel processing; Runtime; Sampling methods;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2007. CGO '07. International Symposium on
  • Conference_Location
    San Jose, CA
  • Print_ISBN
    0-7695-2764-7
  • Type

    conf

  • DOI
    10.1109/CGO.2007.35
  • Filename
    4145115