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.
- R. Bellman. A Markovian decision process. Technical report, DTIC Document, 1957.Google Scholar
- 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. Google Scholar
Digital Library
- D. P. Bertsekas. Dynamic programming and optimal control, volume 1. Athena Scientific Belmont, MA, 1995. Google Scholar
Digital Library
- ACM Press. doi: 10.1145/117954.117957.Google Scholar
- 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. doi: 10.1145/ 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. Google Scholar
Digital Library
- M. G. Lagoudakis and R. Parr. Least-squares policy iteration. The Journal of Machine Learning Research, 4:1107–1149, 2003. Google Scholar
Digital Library
- M. L. Puterman. Markov decision processes: discrete stochastic dynamic programming. John Wiley & Sons, 2014.Google Scholar
- J. M. Robson. Bounds for some functions concerning dynamic storage allocation. Journal of the ACM, 21(3):419–499, July 1974. doi: 10.1145/321832.321846. Google Scholar
Digital Library
- J. M. Robson. Storage allocation is NP-hard. Information Processing Letters, 11(3):119–125, Nov. 1980. doi: 10.1016/ 0020-0190(80)90124-6. R. S. Sutton and A. G. Barto. Reinforcement learning: An introduction, volume 1. MIT press Cambridge, 1998.Google Scholar
Cross Ref
- 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.Google Scholar
Index Terms
Assessing the limits of program-specific garbage collection performance
Recommendations
Assessing the limits of program-specific garbage collection performance
PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and ImplementationWe 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 ...
Age-based garbage collection
Modern generational garbage collectors look for garbage among the young objects, because they have high mortality; however, these objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms, ...
Garbage collection hints
HiPEAC'05: Proceedings of the First international conference on High Performance Embedded Architectures and CompilersThis paper shows that Appel-style garbage collectors often make suboptimal decisions both in terms of when and how to collect. We argue that garbage collection should be done when the amount of live bytes is low (in order to minimize the collection cost)...







Comments