Learned garbage collection

© 2020 Owner/Author. Several programming languages use garbage collectors (GCs) to automatically manage memory for the programmer. Such collectors must decide when to look for unreachable objects to free, which can have a large performance impact on some applications. In this preliminary work, we pr...

Full description

Bibliographic Details
Main Authors: Cen, Lujing, Marcus, Ryan, Mao, Hongzi, Gottschlich, Justin, Alizadeh, Mohammad, Kraska, Tim
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: ACM 2022
Online Access:https://hdl.handle.net/1721.1/132291.3
Description
Summary:© 2020 Owner/Author. Several programming languages use garbage collectors (GCs) to automatically manage memory for the programmer. Such collectors must decide when to look for unreachable objects to free, which can have a large performance impact on some applications. In this preliminary work, we propose a design for a learned garbage collector that autonomously learns over time when to perform collections. By using reinforcement learning, our design can incorporate user-defined reward functions, allowing an autonomous garbage collector to learn to optimize the exact metric the user desires (e.g., request latency or queries per second). We conduct an initial experimental study on a prototype, demonstrating that an approach based on tabular Q learning may be promising.