Learned Garbage Collection

Lujing Cen,Ryan Marcus,Hongzi Mao,Justin Gottschlich,Mohammad Alizadeh,Tim Kraska
DOI: https://doi.org/10.1145/3394450.3397469
2020-04-28
Abstract: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.
Programming Languages
What problem does this paper attempt to address?