Adaptive Correction of Sampling Bias in Dynamic Call ... - Google Sites

0 downloads 197 Views 415KB Size Report
Jan 19, 2016 - Profiling dynamic call graphs main foo. 12 bar. 12. ▷ DCG g = (N,E,freq). ▻ N as a set of procedures.
Adaptive Correction of Sampling Bias in Dynamic Call Graphs Byeongcheol Lee Gwangju Institute of Science and Technology

January 19, 2016

This talk is based on ACM Transaction on Architecture and Code Optimization, Vol 12, No. 4, Article 45 (December 2015)

1 / 28

Profiling dynamic call graphs

main 12

I

DCG g = (N, E , freq) I I I I

I

foo

12 bar

N as a set of procedures E as a set of caller-callee relationships freq as a function mapping call-callee pairs to frequency Concise frequency statistics of the call events in a program run

Clients I

Manual offline analysis I I I

I

Examine performance bottlenecks Collect exact offline DCGs gprof [Graham et al. ’82]

Automatic online analysis and optimization I I I

Java virtual machines [Arnold et al. ’00, Nakaike et al. ’14] Collect approximate online DCGs Aggressive adaptive inlining

2 / 28

Accuracy-overhead tradeoffs in profiling DCGs 25 Full instrumentation [Graham et al. ’82]

Overhead (%)

20 15 10 Timer-based sampling [Arnold et al. ’00] [Arnold & Grove ’05]

5

Adaptive error correction (this talk)

0 40

60

80

100

Accuracy (%)

3 / 28

Outline

I I

Introduction Background on profiling dynamic call graphs I I

I I I I

Full instrumentation Timer-based sampling

Sampling bias Adaptive correction Evaluation Conclusion

4 / 28

Profiling exact dynamic call graphs [Graham et al. ’82]

v o i d main ( ) { int i ; f o r ( i =0; i