Skip to main content

Dynamic Code Region (DCR) Based Program Phase Tracking and Prediction for Dynamic Optimizations

  • Conference paper
High Performance Embedded Architectures and Compilers (HiPEAC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3793))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Dhodapkar, A., Smith, J.E.: Managing multi-configuration hardware via dynamic working set analysis. In: 29th Annual International Symposium on Computer Architecture (May 2002)

    Google Scholar 

  2. Sherwood, T., Sair, S., Calder, B.: Phase tracking and prediction. In: 30th Annual International Symposium on Computer Architecture (June 2003)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Shen, X., Zhong, Y., Ding, C.: Locality phase prediction. In: International Conference on Architectural Support for Programming Languages and Operating Systems (2004)

    Google Scholar 

  5. Lau, J., Schoenmackers, S., Calder, B.: Transition Phase Classification and Prediction. In: The 11th International Symposium on High Performance Computer Architecture (February 2005)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Huang, M., Renau, J., Torrellas, J.: Positional adaptation of processors: Application to energy reduction. In: 30th Annual International Symposium on Computer Architecture (June 2003)

    Google Scholar 

  9. PIN - A Dynamic Binary Instrumentation Tool, http://rogue.colorado.edu/Pin

  10. Lau, J., Schoenmackers, S., Calder, B.: Structures for Phase Classification. In: IEEE International Symposium on Performance Analysis of Systems and Software (March 2004)

    Google Scholar 

  11. http://www.hpl.hp.com/research/linux/perfmon

  12. Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A transparent dynamic optimization system. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (June 2000)

    Google Scholar 

  13. Hazelwood, K., Smith, M.D.: Generational cache management of code traces in dynamic optimization systems. In: 36th International Symposium on Microarchitecture (December 2003)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Bruening, D., Garnett, T., Amarasinghe, S.: An infrastructure for adaptive dynamic optimization. In: First Annual International Symposium on Code Generation and Optimization (March 2003)

    Google Scholar 

  18. Chen, W.-K., Lerner, S., Chaiken, R., Gillies, D.: Mojo: A dynamic optimization. In: 4th ACM Workshop on Feedback-Directed and Dynamic Optimization (2000)

    Google Scholar 

  19. Muchnick, S.: Advanced Compiler Design and Implementation. Morgan Kaufman, San Francisco (1997)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. Hind, M.J., Rajan, V.T., Sweeney, P.F.: Phase shift detection: a problem classification, in IBM Research Report RC-22887, pp. 45–57

    Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. 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)

    Google Scholar 

  26. Dhodapkar, A.S., Smith, J.E.: Comparing program phase detection techniques. In: The 36th International Symposium on Microarchitecture (December 2003)

    Google Scholar 

  27. Liu, W., Huang, M.: EXPERT: expedited simulation exploiting program behavior repetition. In: Proceedings of the 18th annual international conference on Supercomputing (June 2004)

    Google Scholar 

  28. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics