Comparing Program Phase Detection Techniques

  • Authors:
  • Ashutosh S. Dhodapkar;James E. Smith

  • Affiliations:
  • Dept. of Electrical and Computer Engineering, University of Wisconsin - Madison;Dept. of Electrical and Computer Engineering, University of Wisconsin - Madison

  • Venue:
  • Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Detecting program phase changes accurately is an importantaspect of dynamically adaptable systems. Threedynamic program phase detection techniques are compared- using instruction working sets, basic block vectors(BBV), and conditional branch counts. Because programphases are difficult to define, we compare the techniquesusing a variety of metrics.BBV techniques perform better than the other techniquesproviding higher sensitivity and more stablephases. However, the instruction working set techniqueyields 30% longer phases than the BBV method, althoughthere is less stability within phases. On average, the methodsagree on phase changes 85% of the time. Of the 15%of time they disagree, the BBV method is more efficient atdetecting performance changes. The conditional branchcounter technique provides good sensitivity, but is lesseffective at detecting major phase changes. Nevertheless,the branch counter technique correlates 83% of the timewith the BBV based technique. As an auxiliary result, weshow that techniques based on procedure granularities donot perform as well as those based on instruction or basicblock granularities. This is mainly due to their inability todetect changes within procedures.