TY - GEN
T1 - Accurate critical path analysis via random trace construction
AU - Salverda, Pierre
AU - Tucker, Charles
AU - Zilles, Craig
PY - 2008
Y1 - 2008
N2 - We present a new approach to performing program analysis through, profile-guided random generation of instruction traces. Using hardware support available in commercial processors, we profile the behavior of individual instructions. Then, in conjunction with the program binary, we use that information to fabricate short (1,000-instruction) traces by randomly evaluating branches in proportion to their profiled behavior. We demonstrate our technique in the context of critical path analysis, showing it can achieve the same accuracy as a hardware critical path predictor, but with lower hardware requirements. Key to achieving this accuracy is correctly identifying memory dependences in the fabricated trace, for which purpose we use a form of abstract interpretation to identify aliasing store-load pairs without explicitly profiling them. We also demonstrate that our approach is very tolerant of the quality of profile information available.
AB - We present a new approach to performing program analysis through, profile-guided random generation of instruction traces. Using hardware support available in commercial processors, we profile the behavior of individual instructions. Then, in conjunction with the program binary, we use that information to fabricate short (1,000-instruction) traces by randomly evaluating branches in proportion to their profiled behavior. We demonstrate our technique in the context of critical path analysis, showing it can achieve the same accuracy as a hardware critical path predictor, but with lower hardware requirements. Key to achieving this accuracy is correctly identifying memory dependences in the fabricated trace, for which purpose we use a form of abstract interpretation to identify aliasing store-load pairs without explicitly profiling them. We also demonstrate that our approach is very tolerant of the quality of profile information available.
KW - Instruction criticality
KW - Profiling
KW - Trace fabrication
UR - http://www.scopus.com/inward/record.url?scp=43449085237&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=43449085237&partnerID=8YFLogxK
U2 - 10.1145/1356058.1356068
DO - 10.1145/1356058.1356068
M3 - Conference contribution
AN - SCOPUS:43449085237
SN - 9781595939784
T3 - Proceedings of the 2008 CGO - Sixth International Symposium on Code Generation and Optimization
SP - 64
EP - 73
BT - Proceedings of the 2008 CGO - Sixth International Symposium on Code Generation and Optimization
ER -