Abstract
The recent adoption of pre-JIT compilation for the JVM and .NET platforms allows the exploitation of continuous profile collection and management at user sites. To support efficient pre-JIT type of compilation, this paper proposes and studies an entropy-based profile characterization and classification method. This paper first shows that highly accurate profiles can be obtained by merging a number of profiles collected over repeated executions with relatively low sampling frequency for the SPEC CPU2000 benchmarks. It also shows that simple characterization of the profile with information entropy can be used to guide sampling frequency of the profiler in an autonomous fashion. On the SPECjbb2000 benchmark, our adaptive profiler obtains a very accurate profile (94.5% similar to the baseline profile) with only 8.7% of the samples that would normally be collected using a 1M instructions sampling interval. Furthermore, we show that entropy could also be used for classifying different program behaviors based on different input sets.
This research was supported in part by NSF grant no. EIA-0220021, Intel and HP.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Burke, M., Choi, J.D., Fink, S., Grove, D., Hind, M., Sarkar, V., Serrano, M., Sreedhar, V., Srinivasan, H., Whaley, J.: The jalapeno dynamic optimizing compiler for java. In: Proc. ACM 1999 Java Grande Conference, pp. 129–141. ACM Press, New York (1999)
Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.F.: Adaptive optimization in the jalapeno jvm. In: 15th Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 47–65 (2000)
Bosworth, G.: Prejit in the clr. In: MRE 2004. 2nd Workshop on Managed Runtime Environments (2004)
Vaswani, K., Srikant, Y.: Dynamic recompilation and profile-guided optimisations for a net jit compiler. IEE Proc.-Softw. 150(5), 296–302 (2003)
Luk, C., et al.: Ispike: A post-link optimizer for intel itanium 2 architecture. In: Proceedings of 2nd International Symposium on Code Generation and Optimization (CGO)
Choi, Y., Knies, A., Vedaraman, G., Williamson, J.: Design and experience: Using the intel itanium 2 processor performance monitoring unit to implement feedback optimization. In: EPIC2 Workshop (2002)
Lu, J., Chen, H., Fu, R., Hsu, W.C., Othmer, B., Yew, P.C.: The performance of runtime data cache prefetching in a dynamic optimization system. In: Proceedings of the 36th Annual International Symposium on Microarchitecture (December 2003)
Cover, T., Thomas, J.: Elements of Information Theory. John Wiley and Sons, Chichester (1991)
Zhang, X., Wang, Z., Gloy, N., Chen, J., Smith, M.: System support for automatic profiling and optimization. In: Proc. 16th ACM Symp. Operating Systems Principles, pp. 15–26 (1997)
Savari, S., Young, C.: Comparing and combining profiles. Journal of Instruction Level Parallelism (2004)
Kistler, T., Franz, M.: Computing the similarity of profiling data. In: Proc. Workshop on Feedback-Directed Optimization (1998)
Sun, M., Daly, J., Wang, H., Shen, J.: Entropy-based characterization of program phase behaviors. In: The 7th Workshop on Computer Architecture Evaluation using Commercial Workloads (February 2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kim, J., Hsu, WC., Yew, PC., Nair, S.R., Geva, R.Y. (2007). Entropy-Based Profile Characterization and Classification for Automatic Profile Management. In: Choi, L., Paek, Y., Cho, S. (eds) Advances in Computer Systems Architecture. ACSAC 2007. Lecture Notes in Computer Science, vol 4697. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74309-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-74309-5_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74308-8
Online ISBN: 978-3-540-74309-5
eBook Packages: Computer ScienceComputer Science (R0)