The Strong Correlation Between Code Signatures and Performance

Jeremy Lau, Jack Sampson, Erez Perelman, Greg Hamerly, and Brad Calder

IEEE International Symposium on Performance Analysis of Systems and Software, March 2005


A recent study [1] examined the use of sampled hardware counters to create sampled code signatures. This approach is attractive because sampled code signatures can be quickly gathered for any application. The conclusion of their study was that there exists a fuzzy correlation between sampled code signatures and performance predictability. The paper raises the question of how much information is lost in the sampling process, and our paper focuses on examining this issue.

We first focus on showing that there exists a strong correlation between code signatures and performance. We then examine the relationship between sampled and full code signatures, and how these affect performance predictability. Our results confirm that there is a fuzzy correlation found in recent work for the SPEC programs with sampled code signatures, but that a strong correlation exists with full code signatures. In addition, we propose converting the sampled instruction counts, used in the prior work, into sampled code signatures representing loop and procedure execution frequencies. These sampled loop and procedure code signatures allow phase analysis to more accurately and easily find patterns, and they correlate better with performance.

[1] The Fuzzy Correlation between Code and Performance Predictability
M. Annavaram, R. Rakvic, M. Polito, J. Bouguet, R. Hankins, and B. Davies
Proceedings of the 37th International Symposium on Microarchitecture, December 2004