Gray-in-Young: A Generational Garbage Collection for Processing-in-Memory
Processing-in-memory (PIM) is a promising approach to overcome the performance bottleneck caused by the gap between CPU speed and memory speed, known as the memory wall problem.
The UPMEM PIM-enabled memory is the first commercialized general-purpose PIM accelerator, to which the program running on the host CPU offloads computation kernels.
Its DRAM Processing Units (DPUs) are general-purpose processors and have the flexibility to run various computation kernels.
However, there is no support for programming in managed languages with garbage collection (GC).
In this paper, we design GC for DPUs, which is a key component of managed runtimes.
Our GC is a parallel generational GC, whose young space is in scratch pad memory (SPM).
The GC updates pointers in promoting objects before copying them to old space in DRAM to reduce DRAM accesses.
It also determines class information needed for minor GC of each computation kernel at compile time and caches them in SPM.
The major GC routines are compiled in a separate binary so that the binaries of computation kernels fit in 24 KB of program memory.
The evaluation results using a micro benchmark showed that our proposed techniques reduced up to 85.9% DRAM accesses and improved performance by 46.2% for our benchmark.
The GC scaled up to 11 threads, and the remaining code size for the GC routine was only 4.3 KB after separating 6.9 KB of major GC.
Tue 17 JunDisplayed time zone: Seoul change
09:00 - 10:25 | |||
09:00 5mDay opening | Welcome from the chairs ISMM 2025 | ||
09:05 60mKeynote | Keynote: Domain-Specific Memory Management? ISMM 2025 John Kim KAIST | ||
10:05 20mTalk | Gray-in-Young: A Generational Garbage Collection for Processing-in-Memory ISMM 2025 Ryu Morimoto University of Tokyo, Kazuki Ichinose University of Tokyo, Tomoharu Ugawa University of Tokyo DOI |