paperbot · PL 论文追踪

RSS

Optimal Choice of When to Garbage Collect

TOPLAS 41(1)2019
Nicholas Jacek, Meng-Chieh Chiu, Benjamin M. Marlin, J. Eliot B. Moss

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

We consider the ultimate limits of program-specific garbage collector (GC) performance for real programs. We first characterize the GC schedule optimization problem. Based on this characterization, we develop a linear-time dynamic programming solution that, given a program run and heap size, computes an optimal schedule of collections for a non-generational collector. Using an analysis of a heap object graph of the program, we compute a property of heap objects that we call their pre-birth time. This information enables us to extend the non-generational GC schedule problem to the generational GC case in a way that also admits a dynamic programming solution with cost quadratic in the length of the trace (number of objects allocated). This improves our previously reported approximately optimal result. We further extend the two-generation dynamic program to any number of generations, allowing other generalizations as well. Our experimental results for two generations on traces from Java programs of the DaCapo benchmark suite show that there is considerable promise to reduce garbage collection costs for some programs by developing program-specific collection policies. For a given space budget, optimal schedules often obtain modest but useful time savings, and for a given time budget, optimal schedules can obtain considerable space savings.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot718,
  title = {Optimal Choice of When to Garbage Collect},
  author = {Nicholas Jacek and Meng-Chieh Chiu and Benjamin M. Marlin and J. Eliot B. Moss},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {41},
  number = {1},
  year = {2019},
  doi = {10.1145/3282438}
}