Empirical Performance Models for Java Workloads

  • Pradeep Rao
  • Kazuaki Murakami
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5455)

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 Model 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Standard Performance Evaluation Corporation: JVM 2008 (2008), http://www.spec.org/jvm2008/
  2. 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. 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. 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. 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. 6.
    Harrell, F.: Regression modeling strategies. Springer, Heidelberg (2001)CrossRefMATHGoogle Scholar
  7. 7.
    Canavos, G.: Applied probability and statistical methods. Little Brown and Company (1984)Google Scholar
  8. 8.
    Friedman, J.: Multivariate adaptive regression splines. The Annals of Statistics 19 (1991)Google Scholar
  9. 9.
    Kooperberg, C., O’Connor, M.: Polymars (2001)Google Scholar
  10. 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. 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. 12.
    AMD: BIOS and kernel developer’s guide for AMD Opteron processors (2006)Google Scholar
  13. 13.
  14. 14.
    Sherwood, T., Perelman, E., Hamerly, G., Sair, S., Calder, B.: Discovering and exploiting program phases. IEEE MICRO, 84–93 (2003)Google Scholar
  15. 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. 16.
    Rao, P., Murakami, K.: Empirical performance models for Java workloads. Technical Report, System LSI Laboratory, Kyushu University (2008)Google Scholar
  17. 17.
    Georges, A., Buytaert, D., Eeckhout, L.: Statistically rigorous Java performance evaluation. In: Proc. OOPSLA, pp. 57–76 (2007)Google Scholar
  18. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Pradeep Rao
    • 1
  • Kazuaki Murakami
    • 1
  1. 1.Department of InformaticsISEE, Kyushu University, Japan, Institute of Systems and Information Technologies/KyushuJapan

Personalised recommendations