skip to main content
10.1145/2908080.2908120acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article
Public Access

Assessing the limits of program-specific garbage collection performance

Published: 02 June 2016 Publication History

Abstract

We consider the ultimate limits of program-specific garbage collector performance for real programs. We first characterize the GC schedule optimization problem using Markov Decision Processes (MDPs). Based on this characterization, we develop a method of determining, for a given program run and heap size, an optimal schedule of collections for a non-generational collector. We further explore the limits of performance of a generational collector, where it is not feasible to search the space of schedules to prove optimality. Still, we show significant improvements with Least Squares Policy Iteration, a reinforcement learning technique for solving MDPs. We demonstrate that there is considerable promise to reduce garbage collection costs by developing program-specific collection policies.

References

[1]
R. Bellman. A Markovian decision process. Technical report, DTIC Document, 1957.
[2]
A. Bendersky and E. Petrank. Space overhead bounds for dynamic memory management with partial compaction. ACM Transactions on Programming Languages and Systems, 34(3):13, 2012.
[3]
D. P. Bertsekas. Dynamic programming and optimal control, volume 1. Athena Scientific Belmont, MA, 1995.
[5]
M. Hertz, S. M. Blackburn, J. E. B. Moss, K. S. McKinley, and D. Stefanovic. Generating object lifetime traces with Merlin. ACM Transactions on Programming Languages and Systems, 28(3):476–516, 2006. 1133651.1133654. URL http://doi.acm.org/10. 1145/1133651.1133654. R. A. Howard. Dynamic Programming and Markov Processes. The M.I.T. Press, 1960.
[6]
M. G. Lagoudakis and R. Parr. Least-squares policy iteration. The Journal of Machine Learning Research, 4:1107–1149, 2003.
[7]
M. L. Puterman. Markov decision processes: discrete stochastic dynamic programming. John Wiley & Sons, 2014.
[8]
J. M. Robson. Bounds for some functions concerning dynamic storage allocation. Journal of the ACM, 21(3):419–499, July 1974.
[9]
J. M. Robson. Storage allocation is NP-hard. Information Processing Letters, 11(3):119–125, Nov. 1980. 0020-0190(80)90124-6. R. S. Sutton and A. G. Barto. Reinforcement learning: An introduction, volume 1. MIT press Cambridge, 1998.
[10]
R. S. Sutton, D. A. McAllester, S. P. Singh, Y. Mansour, et al. Policy gradient methods for reinforcement learning with function approximation. In Neural Information Processing Systems (NIPS), volume 99, pages 1057–1063. Citeseer, 1999.

Cited By

View all
  • (2021)A Lightweight Formalism for Reference Lifetimes and Borrowing in RustACM Transactions on Programming Languages and Systems10.1145/344342043:1(1-73)Online publication date: 17-Apr-2021
  • (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
  • (2018)Transactional SapphireACM Transactions on Programming Languages and Systems10.1145/322622540:4(1-56)Online publication date: 10-Dec-2018
  • Show More Cited By

Index Terms

  1. Assessing the limits of program-specific garbage collection performance

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation
    June 2016
    726 pages
    ISBN:9781450342612
    DOI:10.1145/2908080
    • General Chair:
    • Chandra Krintz,
    • Program Chair:
    • Emery Berger
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 51, Issue 6
      PLDI '16
      June 2016
      726 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2980983
      • Editor:
      • Andy Gill
      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 the author(s) 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: 02 June 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Markov decision processes
    2. Optimal garbage collection
    3. least squares policy iteration

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    PLDI '16
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 406 of 2,067 submissions, 20%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)135
    • Downloads (Last 6 weeks)22
    Reflects downloads up to 03 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)A Lightweight Formalism for Reference Lifetimes and Borrowing in RustACM Transactions on Programming Languages and Systems10.1145/344342043:1(1-73)Online publication date: 17-Apr-2021
    • (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
    • (2018)Transactional SapphireACM Transactions on Programming Languages and Systems10.1145/322622540:4(1-56)Online publication date: 10-Dec-2018
    • (2017)One Process to Reap Them AllACM SIGPLAN Notices10.1145/3140607.305075452:7(171-186)Online publication date: 8-Apr-2017
    • (2017)One Process to Reap Them AllProceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3050748.3050754(171-186)Online publication date: 8-Apr-2017
    • (2021)A Lightweight Formalism for Reference Lifetimes and Borrowing in RustACM Transactions on Programming Languages and Systems10.1145/344342043:1(1-73)Online publication date: 31-Mar-2021

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media