ARCS 2009: Architecture of Computing Systems – ARCS 2009 pp 219-232 | Cite as
Empirical Performance Models for Java Workloads
Abstract
Java is widely deployed on a variety of processor architectures. Consequently, an understanding of microarchitecture level Java performance is critical to optimize current systems and to aid design and development of future processor architectures for Java. Although this is facilitated by a rich set of processor performance counters featured on several contemporary processors, complex processor microarchitecture structures and their interactions make it difficult to relate observed events to overall performance. This, coupled with the complexities associated with running Java over a virtual machine, further aggravates the situation. This paper explores and evaluates the effectiveness of empirical modeling for Java workloads. Our models use statistical regression techniques to relate overall Java system performance to various observed microarchitecture events and their interactions. Multivariate adaptive regression splines effectively capture non-linear and non-monotonic associations between the response and predictor variables. Our models are interpretable, easy to construct and exhibit high correlation/low errors between predicted and measured performance. Furthermore, empirical models afford additional insights into the characteristics of Java performance and the use of statistical techniques throughout this study allow us to assign confidence levels to our estimates of performance.
Keywords
Virtual Machine Multivariate Adaptive Regression Spline High Order Interaction Java Application Multivariate Adaptive Regression Spline ModelPreview
Unable to display preview. Download preview PDF.
References
- 1.Standard Performance Evaluation Corporation: JVM 2008 (2008), http://www.spec.org/jvm2008/
- 2.Blackburn, S., Garner, R., McKinley, K.: The DaCapo benchmarks: Java benchmarking development and analysis. In: Proc. OOPSLA, pp. 169–190 (2006)Google Scholar
- 3.Georges, A., Eeckhout, L., De Bosschere, K.: Comparing low-level behavior of SPEC CPU and Java workloads. In: Proc. Asia-Pacific Computer Systems Architecture Conference, pp. 669–679 (2005)Google Scholar
- 4.Eeckhout, L., Georges, A., Bosschere, K.D.: How Java programs interact with virtual machines at the microarchitectural level. In: Proc. OOPSLA, pp. 169–186 (2003)Google Scholar
- 5.Blackburn, S.M., Cheng, P., McKinley, K.S.: Myths and realities: The performance impact of garbage collection. In: Proc. SIGMETRICS, pp. 25–36 (2004)Google Scholar
- 6.Harrell, F.: Regression modeling strategies. Springer, Heidelberg (2001)CrossRefMATHGoogle Scholar
- 7.Canavos, G.: Applied probability and statistical methods. Little Brown and Company (1984)Google Scholar
- 8.Friedman, J.: Multivariate adaptive regression splines. The Annals of Statistics 19 (1991)Google Scholar
- 9.Kooperberg, C., O’Connor, M.: Polymars (2001)Google Scholar
- 10.Ould-Ahmed-Vall, E., Woodlee, J., Yount, C., Doshi, K.A., Abraham, S.: Using model trees for computer architecture performance analysis of software applications. In: Proc. ISPASS, pp. 116–125 (2007)Google Scholar
- 11.Kodakara, S., Kim, J., Lilja, D., Hawkins, D., Hsu, W., Yew, P.: CIM: A reliable metric for evaluating program phase classifications. IEEE Computer Architecture Letters 6(1) (2007)Google Scholar
- 12.AMD: BIOS and kernel developer’s guide for AMD Opteron processors (2006)Google Scholar
- 13.Perfmon2, http://perfmon2.sourceforge.net/
- 14.Sherwood, T., Perelman, E., Hamerly, G., Sair, S., Calder, B.: Discovering and exploiting program phases. IEEE MICRO, 84–93 (2003)Google Scholar
- 15.Lee, B., Brooks, D.: Accurate and efficient regression modeling for microarchitectural performance and power prediction. In: Proc. ASPLOS, pp. 185–194 (2006)Google Scholar
- 16.Rao, P., Murakami, K.: Empirical performance models for Java workloads. Technical Report, System LSI Laboratory, Kyushu University (2008)Google Scholar
- 17.Georges, A., Buytaert, D., Eeckhout, L.: Statistically rigorous Java performance evaluation. In: Proc. OOPSLA, pp. 57–76 (2007)Google Scholar
- 18.Joseph, P., Vaswani, K., Thazhuthaveetil, M.: Construction and use of linear regression models for processor performance analysis. In: Proc. HPCA, pp. 99–108 (2006)Google Scholar
- 19.Rao, P., Murakami, K.: A sampling microarchitecture simulator for Java workloads. In: Proc. Workshop on TIMERS-1 held in conjunction with IEEE ISPASS (2008)Google Scholar
- 20.Yoo, R., Lee, H., Chow, K., Lee, H.: Constructing a non-linear model with neural networks for workload characterization. In: Proc. IEEE International Symposium on Workload Characterization, pp. 150–159 (2006)Google Scholar
- 21.Ould-Ahmed-Vall, E., Woodler, J., Yount, C., Doshi, K.A.: On the comparison of regression algorithms for computer architecture performance analysis of software applications. In: Proc. Workshop on SMART co-located with HiPEAC (2007)Google Scholar