Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1094811.1094835acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Improving virtual machine performance using a cross-run profile repository

Published: 12 October 2005 Publication History

Abstract

Virtual machines for languages such as the Java programming language make extensive use of online profiling and dynamic optimization to improve program performance. But despite the important role that profiling plays in achieving high performance, current virtual machines discard a program's profile data at the end of execution, wasting the opportunity to use past knowledge to improve future performance. In this paper, we present a fully automated architecture for exploiting cross-run profile data in virtual machines. Our work addresses a number of challenges that previously limited the practicality of such an approach.We apply this architecture to address the problem of selective optimization, and describe our implementation in IBM's J9 Java virtual machine. Our results demonstrate substantial performance improvements on a broad suite of Java programs, with the average performance ranging from 8.8% -- 16.6% depending on the execution scenario.

References

[1]
M. Arnold, S. Fink, D. Grove, M. Hind, and P. F. Sweeney. Adaptive optimization in the Jalapeno JVM. ACM SIGPLAN Notices, 35(10):47--65, Oct. 2000. In Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA).
[2]
M. Arnold, S. J. Fink, D. Grove, M. Hind, and P. F. Sweeney. A survey of adaptive optimization in virtual machines. Proceedings of the IEEE, 93(2), 2005. Special issue on Program Generation, Optimization, and Adaptation.
[3]
M. Arnold, M. Hind, and B. G. Ryder. Online feedback-directed optimization of Java. ACM SIGPLAN Notices, 37(11):111--129, Nov. 2002. In Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA).
[4]
B. R. Childers, J. W. Davidson, and M. L. Soffa. Continuous Compilation: A new approach to aggressive and adaptive code transformation. In NSF Workshop on Next Generation Software, 2003.
[5]
M. Cierniak, G.-Y. Lueh, and J. M. Stichnoth. Practicing JUDO: Java under dynamic optimizations. ACM SIGPLAN Notices, 35(5):13--26, May 2000. In Conference on Programming Language Design and Implementation (PLDI).
[6]
IBM Cloudscape relational database management system. http://www.cloudscape.com.
[7]
Colorado Bench. http://www.plan.cs.colorado.edu/henkel/projects/colorado bench.
[8]
The Daikon dynamic invariant detector. http://pag.csail.mit.edu/daikon.
[9]
Eclipse Foundation. Eclipse. http://www.eclipse.org.
[10]
S. J. Fink and F. Qian. Design, implementation and evaluation of adaptive recompilation with on-stack replacement. In International Symposium on Code Generation and Optimization (CGO), pages 241--252, 2003.
[11]
N. Grcevski, A. Kilstra, K. Stoodley, M. Stoodley, and V. Sundaresan. Java just-in-time compiler and virtual machine improvements for server and middleware applications. In 3rd Virtual Machine Research and Technology Symposium (VM), May 2004.
[12]
U. Holzle and D. Ungar. A third generation SELF implementation: Reconciling responsiveness with performance. ACM SIGPLAN Notices, 29(10):229--243, Oct. 1994.
[13]
C. Krintz and B. Calder. Using annotations to reduce dynamic optimization time. In PLDI '01: Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation, pages 156--167, New York, NY, USA, 2001. ACM Press.
[14]
M. Paleczny, C. Vick, and C. Click. The Java Hotspot server compiler. In Java Virtual Machine Research and Technology Symposium (JVM), pages 1--12, Apr. 2001.
[15]
D. Reimer, E. Schonberg, K. Srinivas, H. Srinivasan, B. Alpern, R. Johnson, A. Kershenbaum, and L. Koved. Saber: Smart analysis based error reduction. In International Symposium on Software Testing and Analysis (ISSTA), pages 252--262, July 2004.
[16]
S. M. Sandya. Jazzing up jvms with off-line profile data: does it pay? SIGPLAN Not., 39(8):72--80, 2004.
[17]
M. Serrano, R. Bordawekar, S. Midkiff, and M. Gupta. Quicksilver: a quasi-static compiler for Java. ACM SIGPLAN Notices, 35(10):66--82, Oct. 2000. In Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA).
[18]
M. D. Smith. Overcoming the challenges to feedback-directed optimization (keynote talk). ACM SIGPLAN Notices, 35(7):1--11, July 2000.
[19]
Soot, a Java Bytecode Analysis and Transformation Framework. http://www.sable.mcgill.ca/software/#soot.
[20]
Standard Performance Evaluation Corporation. SPECjvm98 Benchmarks. http://www.spec.org/jvm98.
[21]
T. Suganuma, T. Yasue, M. Kawahito, H. Komatsu, and T. Nakatani. A dynamic optimization framework for a Java just-in-time compiler. ACM SIGPLAN Notices, 36(11):180--195, Nov. 2001. In Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA).
[22]
R. W. Wisniewski, P. F. Sweeney, K. Sudeep, M. Hauswirth, E. Duesterwald, C. Cascaval, and R. Azimi. Performance and environment monitoring for whole-system characterization and optimization. In PAC2 Conference on Power/Performance interaction with Architecture, Circuits, and Compilers, 2004.
[23]
Xerces2 Java Parser Readme. http://xml.apache.org/xerces2-j/index.html.

Cited By

View all
  • (2024)The Cost of Profiling in the HotSpot Virtual MachineProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685055(112-126)Online publication date: 13-Sep-2024
  • (2023)Reusing Just-in-Time Compiled CodeProceedings of the ACM on Programming Languages10.1145/36228397:OOPSLA2(1176-1197)Online publication date: 16-Oct-2023
  • (2022)Profile Guided Offline Optimization of Hidden Class Graphs for JavaScript VMs in Embedded SystemsProceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages10.1145/3563838.3567678(25-35)Online publication date: 29-Nov-2022
  • Show More Cited By

Index Terms

  1. Improving virtual machine performance using a cross-run profile repository

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
    October 2005
    562 pages
    ISBN:1595930310
    DOI:10.1145/1094811
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 40, Issue 10
      Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applications
      October 2005
      531 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/1103845
      Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 October 2005

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Java
    2. profiling
    3. selective optimization
    4. virtual machine

    Qualifiers

    • Article

    Conference

    OOPSLA05
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 268 of 1,244 submissions, 22%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 20 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)The Cost of Profiling in the HotSpot Virtual MachineProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685055(112-126)Online publication date: 13-Sep-2024
    • (2023)Reusing Just-in-Time Compiled CodeProceedings of the ACM on Programming Languages10.1145/36228397:OOPSLA2(1176-1197)Online publication date: 16-Oct-2023
    • (2022)Profile Guided Offline Optimization of Hidden Class Graphs for JavaScript VMs in Embedded SystemsProceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages10.1145/3563838.3567678(25-35)Online publication date: 29-Nov-2022
    • (2021)HHVM Jump-Start: Boosting Both Warmup and Steady-State Performance at Scale2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO51591.2021.9370314(340-350)Online publication date: 27-Feb-2021
    • (2018)PAYJIT: space-optimal JIT compilation and its practical implementationProceedings of the 27th International Conference on Compiler Construction10.1145/3178372.3179523(71-81)Online publication date: 24-Feb-2018
    • (2017)SistaProceedings of the 14th International Conference on Managed Languages and Runtimes10.1145/3132190.3132201(1-11)Online publication date: 27-Sep-2017
    • (2016)A static region-based compiler for the Dalvik virtual machineSoftware—Practice & Experience10.1002/spe.234446:8(1109-1130)Online publication date: 1-Aug-2016
    • (2015)Server-side type profiling for optimizing client-side JavaScript enginesACM SIGPLAN Notices10.1145/2936313.281671951:2(140-153)Online publication date: 21-Oct-2015
    • (2015)Server-side type profiling for optimizing client-side JavaScript enginesProceedings of the 11th Symposium on Dynamic Languages10.1145/2816707.2816719(140-153)Online publication date: 21-Oct-2015
    • (2015)FPS: A Fair-Progress Process Scheduling Policy on Shared-Memory MultiprocessorsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2014.230641126:2(444-454)Online publication date: Feb-2015
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media