Abstract
Detecting and predicting a program’s execution phases are crucial to dynamic optimizations and dynamically adaptable systems. This paper shows that a phase can be associated with dynamic code regions embedded in loops and procedures which are primary targets of compiler optimizations. This paper proposes a new phase tracking hardware, especially for dynamic optimizations, that effectively identifies and accurately predicts program phases by exploiting program control flow information. Our proposed phase tracking hardware uses a simple stack and a phase signature table to track the change of phase signature between dynamic code regions.
Several design parameters of our proposed phase tracking hardware are evaluated on 10 SPEC CPU2000 benchmarks. Our proposed phase tracking hardware effectively identifies a phase at a given granularity. It correctly predicts the next program phase for 84.9% of times with a comparable small performance variance within the same phase. A longer phase length and higher phase prediction accuracy together with a reasonably small performance variance are essential to build more efficient dynamic profiling and optimization systems.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Dhodapkar, A., Smith, J.E.: Managing multi-configuration hardware via dynamic working set analysis. In: 29th Annual International Symposium on Computer Architecture (May 2002)
Sherwood, T., Sair, S., Calder, B.: Phase tracking and prediction. In: 30th Annual International Symposium on Computer Architecture (June 2003)
Duesterwald, E., Cascaval, C., Dwarkadas, S.: Characterizing and predicting program behavior and its variability. In: International Conference on Parallel Architectures and Compilation Techniques (October 2003)
Shen, X., Zhong, Y., Ding, C.: Locality phase prediction. In: International Conference on Architectural Support for Programming Languages and Operating Systems (2004)
Lau, J., Schoenmackers, S., Calder, B.: Transition Phase Classification and Prediction. In: The 11th International Symposium on High Performance Computer Architecture (February 2005)
Sun, M., Daly, J.E., Wang, H., Shen, J.P.: Entropy-based Characterization of Program Phase Behaviors. In: The 7th Workshop on Computer Architecture Evaluation using Commercial Workloads (February 2004)
Lu, J., Chen, H., Fu, R., Hsu, W.-C., Othmer, B., Yew, P.-C.: The Performance of Data Cache Prefetching in a Dynamic Optimization System. In: The 36th International Symposium on Microarchitecture (December 2003)
Huang, M., Renau, J., Torrellas, J.: Positional adaptation of processors: Application to energy reduction. In: 30th Annual International Symposium on Computer Architecture (June 2003)
PIN - A Dynamic Binary Instrumentation Tool, http://rogue.colorado.edu/Pin
Lau, J., Schoenmackers, S., Calder, B.: Structures for Phase Classification. In: IEEE International Symposium on Performance Analysis of Systems and Software (March 2004)
Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A transparent dynamic optimization system. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (June 2000)
Hazelwood, K., Smith, M.D.: Generational cache management of code traces in dynamic optimization systems. In: 36th International Symposium on Microarchitecture (December 2003)
Hazelwood, K., Smith, J.E.: Exploring Code Cache Eviction Granularities in Dynamic Optimization Systems. In: Second Annual IEEE/ACM International Symposium on Code Generation and Optimization (March 2004)
Arnold, M., Grove, D.: Collecting and Exploiting High-Accuracy Call Graph Profiles in Virtual Machines. In: Third Annual IEEE/ACM International Symposium on Code Generation and Optimization (March 2005)
Nagpurkar, P., Krintz, C., Sherwood, T.: Phase-Aware Remote Profiling. In: The third Annual IEEE/ACM International Symposium on Code Generation and Optimization (March 2005)
Bruening, D., Garnett, T., Amarasinghe, S.: An infrastructure for adaptive dynamic optimization. In: First Annual International Symposium on Code Generation and Optimization (March 2003)
Chen, W.-K., Lerner, S., Chaiken, R., Gillies, D.: Mojo: A dynamic optimization. In: 4th ACM Workshop on Feedback-Directed and Dynamic Optimization (2000)
Muchnick, S.: Advanced Compiler Design and Implementation. Morgan Kaufman, San Francisco (1997)
Chen, H., Lu, J., Hsu, W.-C., Yew, P.-C.: Continuous Adaptive Object-Code Re-optimization Framework. In: 9th Asia-Pacific Computer Systems Architecture Conference (2004)
Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.: Adaptive Optimization in the Jalapeno JVM. In: Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages and Applications (October 2000)
Hind, M.J., Rajan, V.T., Sweeney, P.F.: Phase shift detection: a problem classification, in IBM Research Report RC-22887, pp. 45–57
Ammons, G., Ball, T., Larus, J.R.: Exploiting hardware performance counters with flow and context sensitive profiling. In: Proceedings of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation, PLDI (June 1997)
Magklis, G., Scott, M.L., Semeraro, G., Albonesi, D.A., Dropsho, S.: Profile-based Dynamic Voltage and Frequency Scaling for a Multiple Clock Domain Microprocessor. In: Proceedings of the International Symposium on Computer Architecture (June 2003)
Hsu, C.-H., Kermer, U.: The design, implementation and evaluation of a compiler algorithm for CPU energy reduction. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation (June 2003)
Dhodapkar, A.S., Smith, J.E.: Comparing program phase detection techniques. In: The 36th International Symposium on Microarchitecture (December 2003)
Liu, W., Huang, M.: EXPERT: expedited simulation exploiting program behavior repetition. In: Proceedings of the 18th annual international conference on Supercomputing (June 2004)
Kim, J., Kodakara, S.V., Hsu, W.-C., Lilja, D.J., Yew, P.-C.: Dynamic Code Region-based Program Phase Classification and Transition Prediction, in Uinversity of Minnesota, Computer Science & Engineering Technical Report 05-021 (May 2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, J., Kodakara, S.V., Hsu, WC., Lilja, D.J., Yew, PC. (2005). Dynamic Code Region (DCR) Based Program Phase Tracking and Prediction for Dynamic Optimizations. In: Conte, T., Navarro, N., Hwu, Wm.W., Valero, M., Ungerer, T. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2005. Lecture Notes in Computer Science, vol 3793. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11587514_14
Download citation
DOI: https://doi.org/10.1007/11587514_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-30317-6
Online ISBN: 978-3-540-32272-6
eBook Packages: Computer ScienceComputer Science (R0)