Arborescent Garbage Collection: A Dynamic Graph Approach to Immediate Cycle Collection
Reclaiming cyclic garbage has been a long-standing challenge in automatic
memory management. Common approaches to this problem often involve extending
reference counting with an asynchronous background task to reclaim cycles.
While this ensures that cycles are eventually collected, it also introduces
unpredictable behaviours, making these approaches unsuitable for applications
where deterministic collection is required.
This paper introduces Arborescent Garbage Collection, a synchronous memory
management algorithm that immediately reclaims unreachable memory objects,
including cyclic structures. Inspired by single-source reachability algorithms
on dynamic graphs, it extends the idea of embedding a spanning forest in a
program's reference graph to track the reachability of any object from a root.
When a reference is removed, the algorithm efficiently rebuilds the forest and
immediately reclaims the memory of objects that are no longer reachable. The
result is a garbage collection algorithm suitable for applications that
require immediate memory reclamation and predictable behaviour.
Tue 17 JunDisplayed time zone: Seoul change
14:00 - 15:20 | |||
14:00 60mKeynote | Keynote: Industry GC Insights from OpenJDK ISMM 2025 Erik Österlund Oracle File Attached | ||
15:00 20mTalk | Arborescent Garbage Collection: A Dynamic Graph Approach to Immediate Cycle Collection ISMM 2025 Frédéric Lahaie-Bertrand Université de Montréal, Léonard Oest O'Leary Université de Montréal, Olivier Melançon Université de Montréal, Marc Feeley Université de Montréal, Stefan Monnier Université de Montréal DOI |