Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2568088.2568091acmconferencesArticle/Chapter ViewAbstractPublication PagesicpeConference Proceedingsconference-collections
research-article

The taming of the shrew: increasing performance by automatic parameter tuning for java garbage collectors

Published: 22 March 2014 Publication History
  • Get Citation Alerts
  • Abstract

    Garbage collection, if not tuned properly, can considerably impact application performance. Unfortunately, configuring a garbage collector is a tedious task as only few guidelines exist and tuning is often done by trial and error. We present what is, to our knowledge, the first published work on automatically tuning Java garbage collectors in a black-box manner considering all available parameters. We propose the use of iterated local search methods to automatically compute application-specific garbage collector configurations. Our experiments show that automatic tuning can reduce garbage collection time by up to 77% for a specific application and a specific workload and by 35% on average across all benchmarks (compared to the default configuration). We evaluated our approach for 3 different garbage collectors on the DaCapo and SPECjbb benchmarks, as well as on a real-world industrial application.

    References

    [1]
    DaCapo. http://www.dacapobench.org/, 2013.
    [2]
    M. Affenzeller. Architecture and Design of the HeuristicLab Optimization Environment. In Advanced Methods and Applications in Computational Intelligence, pages 197--261, 2014.
    [3]
    S. Balsamo, G.-L. D. Rossi, and A. Marin. Optimisation of Virtual Machine Garbage Collection Policies. In Proc. of the Intl. Conf. on Analytical and Stochastic Modeling Techniques and Applications, pages 70--84, 2011.
    [4]
    M. Beckwith. G1: One Garbage Collector to Rule Them All. http://www.infoq.com/articles/G1-One-Garbage-Collector-To-Rule-Them-All, 2013.
    [5]
    M. Beckwith. Garbage First Garbage Collector Tuning. http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html, 2013.
    [6]
    S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and Realities: the Performance Impact of Garbage Collection. In Proc. of the Joint Intl. Conf. on Measurement and Modeling of Computer Systems, pages 25--36, 2004.
    [7]
    S. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In Proc. of the Annual ACM SIGPLAN Conf. on Object-oriented Programming Systems, Languages, and Applications, pages 169--190, 2006.
    [8]
    T. Brecht, E. Arjomandi, C. Li, and H. Pham. Controlling Garbage Collection and Heap Growth to Reduce the Execution Time of Java Applications. Trans. Program. Lang. Syst., 28(5):908--941, 2006.
    [9]
    D. Detlefs. Concurrent Remembered Set Refinement in Generational Garbage Collection. In USENIX Java VM Research and Technology Symp., 2002.
    [10]
    D. Detlefs, C. Flood, S. Heller, and T. Printezis. Garbage-First Garbage Collection. In Proc. of the Intl. Symp. on Memory Management, pages 37--48, 2004.
    [11]
    G. Gousios, V. Karakoidas, and D. Spinellis. Tuning Java's Memory Manager for High Performance Server Applications. In Proc. of the 5th Intl. System Administration and Network Conf., pages 69--83, 2006.
    [12]
    X. Guan, W. Srisa-an, and C. Jia. Investigating the Effects of Using Different Nursery Sizing Policies on Performance. In Proc. of the Intl. Symp. on Memory Management, pages 59--68, New York, NY, USA, 2009.
    [13]
    M. Hirt and M. Lagergren. Oracle JRockit: The Definitive Guide. 2010.
    [14]
    F. Hutter, H. H. Hoos, K. Leyton-Brown, and T. Stutzle. ParamILS: An Automatic Algorithm Configuration Framework. Journal of Artificial Intelligence Research, 36:267--306, 2009.
    [15]
    S. Lee. How to Tune Java Garbage Collection. http://www.cubrid.org/blog/textyle/428187, 2012.
    [16]
    H. Lieberman and C. Hewitt. A Real-time Garbage Collector Based on the Lifetimes of Objects. Commun. ACM, 26(6):419--429, 1983.
    [17]
    Oracle. Garbage Collector Ergonomic. http://docs.oracle.com/javase/7/docs/technotes/guides/vm/gc-ergonomics.html, 2013.
    [18]
    Oracle. Java HotSpot VM Options. http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html, 2013.
    [19]
    Oracle. Java SE 6 HotSpot{tm} Virtual Machine Garbage Collection Tuning. http://www.oracle.com/technetwork/java/javase/gc-tuning-6--140523.html, 2013.
    [20]
    Oracle. OpenJDK 8 Early Access Release b100. http://jdk8.java.net/archive/8-b100.html, 2013.
    [21]
    J. Singer, G. Brown, I. Watson, and J. Cavazos. Intelligent Selection of Application-specific Garbage Collectors. In Proc. of the Intl. Symp. on Memory Management, pages 91--102, 2007.
    [22]
    J. Singer, R. E. Jones, G. Brown, and M. Luján. The Economics of Garbage Collection. In Proc. of the Intl. Symp. on Memory Management, pages 103--112, 2010.
    [23]
    J. Singer, G. Kovoor, G. Brown, and M. Luján. Garbage collection auto-tuning for java mapreduce on multi-cores. In Proc. of the Intl. Symp. on Memory Management, pages 109--118, 2011.
    [24]
    D. Ungar. Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm. In Proc. of the ACM SIGSOFT/SIGPLAN Software Engineering Symp. on Practical Software Development Environments, pages 157--167, 1984.
    [25]
    J. Velasco, A. Ortiz, K. Olcoz, and F. Tirado. Dynamic Management of Nursery Space Organization in Generational Collection. In INTERACT-8, workshop, pages 33--40, 2004.
    [26]
    D. Vengerov. Modeling, Analysis and Throughput Optimization of a Generational Garbage Collector. In Proc. of the Intl. Symp. on Memory Management, pages 1--9, 2009.
    [27]
    T. Yang, M. Hertz, E. D. Berger, S. F. Kaplan, and J. E. B. Moss. Automatic Heap Sizing: Taking Real Memory into Account. In Proc. of the Intl. Symp. on Memory Management, pages 61--72, 2004.

    Cited By

    View all
    • (2023)Analyzing and Improving the Scalability of In-Memory Indices for Managed Search EnginesProceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management10.1145/3591195.3595272(15-29)Online publication date: 6-Jun-2023
    • (2023)A Prediction System ServiceProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575714(48-60)Online publication date: 27-Jan-2023
    • (2021)The interplay of compile-time and run-time options for performance predictionProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471149(100-111)Online publication date: 6-Sep-2021
    • Show More Cited By

    Index Terms

    1. The taming of the shrew: increasing performance by automatic parameter tuning for java garbage collectors

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICPE '14: Proceedings of the 5th ACM/SPEC international conference on Performance engineering
    March 2014
    310 pages
    ISBN:9781450327336
    DOI:10.1145/2568088
    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: 22 March 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. configuration
    2. garbage collection
    3. java
    4. optimization

    Qualifiers

    • Research-article

    Funding Sources

    • Christian Doppler Forschungsgesellschaft
    • Compuware Austria GmbH

    Conference

    ICPE'14
    Sponsor:

    Acceptance Rates

    ICPE '14 Paper Acceptance Rate 21 of 78 submissions, 27%;
    Overall Acceptance Rate 252 of 851 submissions, 30%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)11
    • Downloads (Last 6 weeks)1

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Analyzing and Improving the Scalability of In-Memory Indices for Managed Search EnginesProceedings of the 2023 ACM SIGPLAN International Symposium on Memory Management10.1145/3591195.3595272(15-29)Online publication date: 6-Jun-2023
    • (2023)A Prediction System ServiceProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3575693.3575714(48-60)Online publication date: 27-Jan-2023
    • (2021)The interplay of compile-time and run-time options for performance predictionProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume A10.1145/3461001.3471149(100-111)Online publication date: 6-Sep-2021
    • (2021)Optimization of Java Virtual Machine Flags using Feature Model and Genetic AlgorithmCompanion of the ACM/SPEC International Conference on Performance Engineering10.1145/3447545.3451177(183-186)Online publication date: 19-Apr-2021
    • (2021)Handling State Space Explosion in Component-Based Software Verification: A ReviewIEEE Access10.1109/ACCESS.2021.30817429(77526-77544)Online publication date: 2021
    • (2020)Efficient nursery sizing for managed languages on multi-core processors with shared cachesProceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3368826.3377908(1-15)Online publication date: 22-Feb-2020
    • (2019)Assessing and optimizing the performance impact of the just-in-time configuration parameters - a case study on PyPyEmpirical Software Engineering10.1007/s10664-019-09691-z24:4(2323-2363)Online publication date: 1-Aug-2019
    • (2018)Comparison of garbage collectors in Java programming language2018 41st International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO)10.23919/MIPRO.2018.8400277(1539-1544)Online publication date: May-2018
    • (2018)Fast-path loop unrolling of non-counted loops to enable subsequent compiler optimizationsProceedings of the 15th International Conference on Managed Languages & Runtimes10.1145/3237009.3237013(1-13)Online publication date: 12-Sep-2018
    • (2018)Towards an Efficient Benchmark Generation Engine for Garbage CollectionCompanion of the 2018 ACM/SPEC International Conference on Performance Engineering10.1145/3185768.3186303(9-12)Online publication date: 2-Apr-2018
    • Show More Cited By

    View Options

    Get Access

    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