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

Influence of program inputs on the selection of garbage collectors

Published: 11 March 2009 Publication History
  • Get Citation Alerts
  • Abstract

    Many studies have shown that the best performer among a set of garbage collectors tends to be different for different applications. Researchers have proposed application-specific selection of garbage collectors. In this work, we concentrate on a second dimension of the problem: the influence of program inputs on the selection of garbage collectors.
    We collect tens to hundreds of inputs for a set of Java benchmarks, and measure their performance on Jikes RVM with different heap sizes and garbage collectors. A rigorous statistical analysis produces four-fold insights. First, inputs influence the relative performance of garbage collectors significantly, causing large variations to the top set of garbage collectors across inputs. Profiling one or few runs is thus inadequate for selecting the garbage collector that works well for most inputs. Second, when the heap size ratio is fixed, one or two types of garbage collectors are enough to stimulate the top performance of the program on all inputs. Third, for some programs, the heap size ratio significantly affects the relative performance of different types of garbage collectors. For the selection of garbage collectors on those programs, it is necessary to have a cross-input predictive model that predicts the minimum possible heap size of the execution on an arbitrary input. Finally, based on regression techniques, we demonstrate the predictability of the minimum possible heap size, indicating the potential feasibility of the input-specific selection of garbage collectors.

    References

    [1]
    Java Grande benchmark. http://www2.epcc.ed.ac.uk/javagrande/.
    [2]
    Spec jvm98. http://www.spec.org/jvm98/.
    [3]
    M. Arnold, S. Fink, D. Grove, M. Hind, and P.F. Sweeney. Adaptive optimization in the Jalapeno JVM. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, Minneapolis, MN, October 2000.
    [4]
    M. Arnold, A. Welc, and V.T. Rajan. Improving virtual machine performance using a cross-run profile repository. In the Conference on Object-Oriented Systems, Languages, and Applications, 2005.
    [5]
    P. Berube and J. N. Amaral. Benchmark design for robust profile-directed optimization. In Standard Performance Evaluation Corporation (SPEC) Workshop, 2007.
    [6]
    S. M. Blackburn, P. Cheng, and K. McKinley. Oil and water: High performance garbage collection in Java with MMTk. In Proceedings of the 26th International Conference on Software Engineering, 2004.
    [7]
    S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and realities: the performance impact of garbage collection. SIGMETRICS Perform. Eval. Rev., 32(1), 2004.
    [8]
    S. M. Blackburn et al. The DaCapo benchmarks: Java benchmarking development and analysis. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, October 2006.
    [9]
    C. Ding and Y. Zhong. Predicting whole-program locality with reuse distance analysis. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, CA, June 2003.
    [10]
    L. Eeckhout, H. Vandierendonck, and K. D. Bosschere. Quantifying the impact of input data sets on programbehavior and its applications. Journal of Instruction-Level Parallelism, pages 1--33, 2003.
    [11]
    R. Fitzgerald and D. Tarditi. The case for profile-directed selection of garbage collection. In Proceedings of the International Symposium on Memory Management, 2000.
    [12]
    A. Georges, D. Buytaert, and L. Eeckhout. Statistically rigorous Java performance evaluation. In Proceedings of ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, 2007.
    [13]
    T. Hastie, R. Tibshirani, and J. Friedman. The elements of statistical learning. Springer, 2001.
    [14]
    F. Mao and X. Shen. Cross-input learning and discriminative prediction in evolvable virtual machine. In Proceedings of the International Symposium on Code Generation and Optimization (CGO), 2009.
    [15]
    T. Printezis. Hot-swapping between a mark &sweep and a mark &compact garbage collector in a generational environment. In Proceedings of the 1st Java Virtual Machine Research and Technology Symposium, 2001.
    [16]
    X. Shen and F. Mao. Modeling relations between inputs and dynamic behavior for general programs. In Proceedings of the Workshop on Languages and Compilers for Parallel Computing, 2007.
    [17]
    X. Shen, Y. Zhong, and C. Ding. Predicting locality phases for dynamic memory optimization. Journal of Parallel and Distributed Computing, 67(7), 2007.
    [18]
    J. Singer, G. Brown, I. Watson, and J. Cavazos. Intelligent selection of application-specific garbage collectors. In Proceedings of the International Symposium on Memory Management, 2007.
    [19]
    F. Smith and G. Morrisett. Comparing mostly-copying and mark-sweep conservative collection. In Proceedings of the International Symposium on Memory Management, 1998.
    [20]
    S. Soman, C. Krintz, and D. F. Bacon. Dynamic selection of application-specific garbage collectors. In Proceedings of the International Symposium on Memory Management, 2004.
    [21]
    D. Wall. Predicting program behavior using real or estimated profiles. In Proceedings of PLDI, Toronto,Canada, June 1991.
    [22]
    B. Zorn. Comparing mark-and-sweep and stop-and-copy garbage collection. In Proceedings of ACM Conference on Lisp and Functional Programming, 1990.

    Cited By

    View all
    • (2021)Machine-Learning Based Memory Prediction Model for Data Parallel Workloads in Apache SparkSymmetry10.3390/sym1304069713:4(697)Online publication date: 16-Apr-2021
    • (2021)Optimizing Resource Allocation for Data-Parallel Jobs Via GCN-Based PredictionIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.305501932:9(2188-2201)Online publication date: 1-Sep-2021
    • (2019)Runtime Object Lifetime Profiler for Latency Sensitive Big Data ApplicationsProceedings of the Fourteenth EuroSys Conference 201910.1145/3302424.3303988(1-16)Online publication date: 25-Mar-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    VEE '09: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
    March 2009
    148 pages
    ISBN:9781605583754
    DOI:10.1145/1508293
    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: 11 March 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cross-input program analysis
    2. input-specific selection
    3. minimum possible heap size
    4. profiling
    5. selection of garbage collectors

    Qualifiers

    • Research-article

    Conference

    VEE '09

    Acceptance Rates

    Overall Acceptance Rate 80 of 235 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 27 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Machine-Learning Based Memory Prediction Model for Data Parallel Workloads in Apache SparkSymmetry10.3390/sym1304069713:4(697)Online publication date: 16-Apr-2021
    • (2021)Optimizing Resource Allocation for Data-Parallel Jobs Via GCN-Based PredictionIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.305501932:9(2188-2201)Online publication date: 1-Sep-2021
    • (2019)Runtime Object Lifetime Profiler for Latency Sensitive Big Data ApplicationsProceedings of the Fourteenth EuroSys Conference 201910.1145/3302424.3303988(1-16)Online publication date: 25-Mar-2019
    • (2018)Learning-Based Memory Allocation Optimization for Delay-Sensitive Big Data ProcessingIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2018.280001129:6(1332-1341)Online publication date: 1-Jun-2018
    • (2018)Rethinking the memory hierarchy for modern languagesProceedings of the 51st Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO.2018.00025(203-216)Online publication date: 20-Oct-2018
    • (2017)Small Boxes Big Data: A Deep Learning Approach to Optimize Variable Sized Bin Packing2017 IEEE Third International Conference on Big Data Computing Service and Applications (BigDataService)10.1109/BigDataService.2017.18(80-89)Online publication date: Apr-2017
    • (2017)A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and ChallengesCloud Computing10.1007/978-3-319-54645-2_3(59-98)Online publication date: 3-Jun-2017
    • (2016)TRINISoftware—Practice & Experience10.1002/spe.239146:12(1705-1733)Online publication date: 1-Dec-2016
    • (2015)Adaptive GC-Aware Load Balancing Strategy for High-Assurance Java Distributed SystemsProceedings of the 2015 IEEE 16th International Symposium on High Assurance Systems Engineering10.1109/HASE.2015.19(68-75)Online publication date: 8-Jan-2015
    • (2014)Load Balancing of Java Applications by Forecasting Garbage CollectionsProceedings of the 2014 IEEE 13th International Symposium on Parallel and Distributed Computing10.1109/ISPDC.2014.20(127-134)Online publication date: 24-Jun-2014
    • 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