1 / 15

Phase-Based Program Sampling Using Phoenix

Phase-Based Program Sampling Using Phoenix. Chandra Krintz University of California, Santa Barbara Microsoft Faculty Summit July, 2005. Our Phoenix-Based Research. Efficient, flexible, and accurate profile collection Avoid computation/communication interruption

kayleen
Download Presentation

Phase-Based Program Sampling Using Phoenix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Phase-Based Program Sampling Using Phoenix Chandra Krintz University of California, Santa Barbara Microsoft Faculty Summit July, 2005

  2. Our Phoenix-Based Research • Efficient, flexible, and accurate profile collection • Avoid computation/communication interruption • Gather important profile types (paths, data, methods…) Our extensions to Phoenix: • Turn profiling on and off dynamically • Program execution sampling • Trigger sampling to enable • Highly accurate profiles (similar to exhaustive profiles) • With very low overhead (sample very seldomly) Microsoft Faculty Summit, July 2005

  3. Toggling Profile Collection • When to sample the executing program • Periodically • Randomly • According to program behavior Microsoft Faculty Summit, July 2005

  4. Sample According to Program Behavior Method entry Method call Method call • Duplicate code • One copy is instrumented, one is not • Alternate execution between them [Arnold’01] Method entry Microsoft Faculty Summit, July 2005

  5. Toggling Profile Collection Method entry Method call Method call • Duplicate code • One copy is instrumented, one is not • Alternate execution between them Threshold-based counters Method entry Microsoft Faculty Summit, July 2005

  6. Toggling Profile Collection Method entry Method call Control transfers to uninstrumented code • Duplicate code • One copy is instrumented, one is not • Alternate execution between them Control transfers to instrumented code Method entry Method call Microsoft Faculty Summit, July 2005

  7. Toggling Profile Collection Method entry Method call Control transfers to uninstrumented code • Duplicate code • One copy is instrumented, one is not • Alternate execution between them Control transfers to instrumented code Method entry Can also stay in instrumented code for longer periods of time (based on thresholds), i.e., bursts [Hirzel’01,Chilimbi’04] Method call Microsoft Faculty Summit, July 2005

  8. Toggling Profile Collection • Phoenix implementation • Duplicate code within the same method [Arnold’01] • Insert instrumentation in one copy • Insert branches that jump between the two • Based on counters • Users can • Specify the type of profile to collect • Threshold values • Global or local • Control sampling frequency and burst length Microsoft Faculty Summit, July 2005

  9. Toggle Triggers • Currently, based on counters • However, this may cause us to collect redundant information or miss important activities • Our second focus is an intelligent sampling trigger • Based on program phases [Sherwood’03] • Repeating patterns in program behavior Microsoft Faculty Summit, July 2005

  10. Toggle Triggers • Currently, based on counters • However, this may cause us to collect redundant information or miss important activities • Extant approaches to sampling: Periodic sampling Microsoft Faculty Summit, July 2005

  11. Toggle Triggers • Currently, based on counters • However, this may cause us to collect redundant information or miss important activities • Extant approaches to sampling: Random sampling Microsoft Faculty Summit, July 2005

  12. Toggle Triggers • Currently, based on counters • However, this may cause us to collect redundant information or miss important activities • Extant approaches to sampling: Bursty sampling Microsoft Faculty Summit, July 2005

  13. Toggle Triggers • Currently, based on counters • However, this may cause us to collect redundant information or miss important activities • Our second focus is an intelligent sampling trigger • Based on program phases [Nagpurkar’05] Phase-base sampling 5% Error = 55-80% impr. Microsoft Faculty Summit, July 2005

  14. Conclusions • Phoenix provides a framework for program instrumentation, analysis, and optimization • Our work • Extends Phoenix to enable program sampling • That is parameterizable (frequency, burst length) • Parameters can be changed dynamically • Extends sampling to be aware of program behavior • Phase-aware • Enables collection of accurate profiles with very little overhead • 55-80% overhead reduction over periodic/random sampling • Provides a visualization tool (consumes phase profiles) • Enables users to visualize/reason about program phase behavior Microsoft Faculty Summit, July 2005

  15. Acknowledgements • Students involved DirectlyIndirectly Lingli Zhang (prof-guided opt) Sunil Soman (garbage collection) Ricky Tiang (profiling) Hussam Mousa (profile toggling) Priya Nagpurkar (phase profiling) Selim Gurun (embedded systems) • Thanks! More Info: Microsoft UCSB RACELab John Lefor www.cs.ucsb.edu/~racelab Vinod Grover Phoenix Development Team Microsoft Faculty Summit, July 2005

More Related