comparing program phase detection techniques
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.
detection change adaptive systems instruction blocking metrication performance sensitive method stability timing efficiency procedure vectorization