Skip to main content

Simple Profile Rectifications Go a Long Way

Statistically Exploring and Alleviating the Effects of Sampling Errors for Program Optimizations

  • Conference paper
ECOOP 2013 – Object-Oriented Programming (ECOOP 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7920))

Included in the following conference series:

Abstract

Feedback-driven program optimization (FDO) is common in modern compilers, including Just-In-Time compilers increasingly adopted for object-oriented or scripting languages. This paper describes a systematic study in understanding and alleviating the effects of sampling errors on the usefulness of the obtained profiles for FDO. Taking a statistical approach, it offers a series of counter-intuitive findings, and identifies two kinds of profile errors that affect FDO critically, namely zero-count errors and inconsistency errors. It further proposes statistical profile rectification, a simple approach to correcting profiling errors by leveraging statistical patterns in a profile. Experiments show that the simple approach enhances the effectiveness of sampled profile-based FDO dramatically, increasing the average FDO speedup from 1.16X to 1.3X, around 92% of what full profiles can yield.

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. Jikes RVM, http://jikesrvm.org

  2. SPEC CPU benchmarks, http://www.spec.org/benchmarks.html

  3. Adl-Tabatabai, A., Hudson, R., Serrano, M., Subramoney, S.: Prefetch injection based on hardware monitoring and object metadata. In: PLDI (2004)

    Google Scholar 

  4. Ammons, G., Ball, T., Larus, J.R.: Exploiting hardware performance counters with flow and context sensitive profiling. In: PLDI (1997)

    Google Scholar 

  5. Arnold, M., Grove, D.: Collecting and exploiting high-accuracy call graph profiles in virtual machines. In: CGO (2005)

    Google Scholar 

  6. Arnold, M., Ryder, B.G.: A framework for reducing the cost of instrumented code. In: PLDI (2001)

    Google Scholar 

  7. Ball, T., Larus, J.R.: Efficient path profiling. In: MICRO (1996)

    Google Scholar 

  8. Bond, M.D., McKinley, K.S.: Continuous path and edge profiling. In: MICRO, pp. 130–140 (2005)

    Google Scholar 

  9. Chang, P.P., Mahlke, S.A., Chen, W.Y., Hwu, W.: Profile-guided automatic inline expansion for c programs. Software Practice and Experience 22(5) (1992)

    Google Scholar 

  10. Chen, D., Vachharajani, N., Hundt, R., Liao, S., Ramasamy, V., Yuan, P., Chen, W., Zheng, W.: Taming hardware event samples for fdo compilation. In: CGO (2010)

    Google Scholar 

  11. Hirzel, M., Chilimbi, T.M.: Bursty tracing: A framework for low-overhead temporal profiling. In: Proceedings of ACM Workshop on Feedback-Directed and Dynamic Optimization, Dallas, Texas (2001)

    Google Scholar 

  12. Knuth, D., Stevenson, F.: BIT Numerical Mathematics. BIT Numerical Mathematics 13(3), 313–322

    Google Scholar 

  13. Langdale, G., Gross, T.: Evaluating the relationship between the usefulness and accuracy of profiles. In: Proc. Workshop on Duplicating, Deconstructing, and Debunking (2003)

    Google Scholar 

  14. Levin, R., Haber, G., Newman, I.: Complementing missing and inaccurate profiling using a minimum cost circulation algorithm. In: HiPEAC (2008)

    Google Scholar 

  15. Mousa, H., Krintz, C.: HPS: Hybrid profiling support. In: PACT (2005)

    Google Scholar 

  16. Mytkowicz, T., Diwan, A., Hauswirth, M., Sweeney, P.F.: Evaluating the accuracy of java profilers. In: PLDI (2010)

    Google Scholar 

  17. Pettis, K., Hansen, R.C.: Profile guided code positioning. In: PLDI (1990)

    Google Scholar 

  18. Rajagopalan, M., Debray, S.K., Hiltunen, M.A., Schlichting, R.D.: Profile-directed optimization of event-based programs. In: PLDI, pp. 106–116 (2002)

    Google Scholar 

  19. Tian, K., Zhang, E., Shen, X.: A step towards transparent integration of input-consciousness into dynamic program optimizations. In: OOPSLA (2011)

    Google Scholar 

  20. Vaswani, K., Nori, A.V., Chilimbi, T.M.: Preferential path profiling: compactly numbering interesting paths. In: POPL (2007)

    Google Scholar 

  21. Wu, B., Zhao, Z., Shen, X., Jiang, Y., Gao, Y., Silvera, R.: Exploiting inter-sequence correlations for program behavior prediction. In: OOPSLA (2012)

    Google Scholar 

  22. Wu, Y.: Efficient discovery of regular stride patterns in irregular programs. In: PLDI (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wu, B., Zhou, M., Shen, X., Gao, Y., Silvera, R., Yiu, G. (2013). Simple Profile Rectifications Go a Long Way. In: Castagna, G. (eds) ECOOP 2013 – Object-Oriented Programming. ECOOP 2013. Lecture Notes in Computer Science, vol 7920. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39038-8_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39038-8_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39037-1

  • Online ISBN: 978-3-642-39038-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics