Comparing program phase detection techniques

176Citations
Citations of this article
56Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Detecting program phase changes accurately is an important aspect of dynamically adaptable systems. Three dynamic program phase detection techniques are compared - using instruction working sets, basic block vectors (BBV), and conditional branch counts. Because program phases are difficult to define, we compare the techniques using a variety of metrics. BBV techniques perform better than the other techniques providing higher sensitivity and more stable phases. However, the instruction working set technique yields 30% longer phases than the BBV method, although there is less stability within phases. On average, the methods agree on phase changes 85% of the time. Of the 15% of time they disagree, the BBV method is more efficient at detecting performance changes. The conditional branch counter technique provides good sensitivity, but is less effective at detecting major phase changes. Nevertheless, the branch counter technique correlates 83% of the time with the BBV based technique. As an auxiliary result, we show that techniques based on procedure granularities do not perform as well as those based on instruction or basic block granularities. This is mainly due to their inability to detect changes within procedures.

Cite

CITATION STYLE

APA

Dhodapkar, A. S., & Smith, J. E. (2003). Comparing program phase detection techniques. In Proceedings of the Annual International Symposium on Microarchitecture, MICRO (Vol. 2003-January, pp. 217–227). IEEE Computer Society. https://doi.org/10.1109/MICRO.2003.1253197

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free