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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Jikes RVM, http://jikesrvm.org
SPEC CPU benchmarks, http://www.spec.org/benchmarks.html
Adl-Tabatabai, A., Hudson, R., Serrano, M., Subramoney, S.: Prefetch injection based on hardware monitoring and object metadata. In: PLDI (2004)
Ammons, G., Ball, T., Larus, J.R.: Exploiting hardware performance counters with flow and context sensitive profiling. In: PLDI (1997)
Arnold, M., Grove, D.: Collecting and exploiting high-accuracy call graph profiles in virtual machines. In: CGO (2005)
Arnold, M., Ryder, B.G.: A framework for reducing the cost of instrumented code. In: PLDI (2001)
Ball, T., Larus, J.R.: Efficient path profiling. In: MICRO (1996)
Bond, M.D., McKinley, K.S.: Continuous path and edge profiling. In: MICRO, pp. 130–140 (2005)
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)
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)
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)
Knuth, D., Stevenson, F.: BIT Numerical Mathematics. BIT Numerical Mathematics 13(3), 313–322
Langdale, G., Gross, T.: Evaluating the relationship between the usefulness and accuracy of profiles. In: Proc. Workshop on Duplicating, Deconstructing, and Debunking (2003)
Levin, R., Haber, G., Newman, I.: Complementing missing and inaccurate profiling using a minimum cost circulation algorithm. In: HiPEAC (2008)
Mousa, H., Krintz, C.: HPS: Hybrid profiling support. In: PACT (2005)
Mytkowicz, T., Diwan, A., Hauswirth, M., Sweeney, P.F.: Evaluating the accuracy of java profilers. In: PLDI (2010)
Pettis, K., Hansen, R.C.: Profile guided code positioning. In: PLDI (1990)
Rajagopalan, M., Debray, S.K., Hiltunen, M.A., Schlichting, R.D.: Profile-directed optimization of event-based programs. In: PLDI, pp. 106–116 (2002)
Tian, K., Zhang, E., Shen, X.: A step towards transparent integration of input-consciousness into dynamic program optimizations. In: OOPSLA (2011)
Vaswani, K., Nori, A.V., Chilimbi, T.M.: Preferential path profiling: compactly numbering interesting paths. In: POPL (2007)
Wu, B., Zhao, Z., Shen, X., Jiang, Y., Gao, Y., Silvera, R.: Exploiting inter-sequence correlations for program behavior prediction. In: OOPSLA (2012)
Wu, Y.: Efficient discovery of regular stride patterns in irregular programs. In: PLDI (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)