Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

The study and handling of program inputs in the selection of garbage collectors

Published: 31 July 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 applicationspecific 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, by adoptingstatistical learning techniques, we investigate the cross-input predictability of the influence. Experimental results demonstrate that with regression and classification techniques, it is possible to predict the best garbage collector (along with the minimum possible heap size) with reasonable accuracy given an arbitrary input to an application. The exploration opens the opportunities for tailoring the selection of garbage collectors to not only applications but also their inputs.

    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, pages 245--257, San Diego, CA, June 2003.
    [10]
    L. Eeckhout, H. Vandierendonck, and K.D. Bosschere. Quantifying the impact of input data sets on program behavior 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
    • (2019)Learning when to garbage collect with random forestsProceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management10.1145/3315573.3329983(53-63)Online publication date: 23-Jun-2019
    • (2013)A Tool for Practical Garbage Collection Analysis in the CloudProceedings of the 2013 IEEE International Conference on Cloud Engineering10.1109/IC2E.2013.13(46-53)Online publication date: 25-Mar-2013
    • (2011)Garbage collection auto-tuning for Java mapreduce on multi-coresACM SIGPLAN Notices10.1145/2076022.199349546:11(109-118)Online publication date: 4-Jun-2011
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGOPS Operating Systems Review
    ACM SIGOPS Operating Systems Review  Volume 43, Issue 3
    July 2009
    109 pages
    ISSN:0163-5980
    DOI:10.1145/1618525
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 31 July 2009
    Published in SIGOPS Volume 43, Issue 3

    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

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Learning when to garbage collect with random forestsProceedings of the 2019 ACM SIGPLAN International Symposium on Memory Management10.1145/3315573.3329983(53-63)Online publication date: 23-Jun-2019
    • (2013)A Tool for Practical Garbage Collection Analysis in the CloudProceedings of the 2013 IEEE International Conference on Cloud Engineering10.1109/IC2E.2013.13(46-53)Online publication date: 25-Mar-2013
    • (2011)Garbage collection auto-tuning for Java mapreduce on multi-coresACM SIGPLAN Notices10.1145/2076022.199349546:11(109-118)Online publication date: 4-Jun-2011
    • (2011)Garbage collection auto-tuning for Java mapreduce on multi-coresProceedings of the international symposium on Memory management10.1145/1993478.1993495(109-118)Online publication date: 4-Jun-2011

    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