Gray-in-Young: A Generational Garbage Collection for Processing-in-Memory
summary
A generational GC for UPMEM DPUs keeps the young generation in SPM and copies objects to old DRAM only after pointer updates, using reserve-and-scan to batch DMA and reduce fine-grained DRAM traffic. Per-binary cached object-layout tables live in SPM to avoid per-object DRAM reads, and the major-GC is shipped as a separate major-GC binary so kernels fit 24 KB instruction RAM. On a binary-tree microbenchmark this cuts DRAM accesses up to 85.9%, speeds minor GC by 46.2%, and scales to 11 threads.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:07Processing-in-Memory challenges
- 2:30GC challenges for DPUs
- 3:53Gray-in-Young contributions
- 4:58Minor collection basics
- 6:27Gray-in-Young minor collection
- 9:01Caching class table accesses
- 11:37Major collection for instruction RAM
- 12:40Performance results
- 15:29Related work and summary
- 16:14Q&A
related talks
14mFreedom from memory interference
25mBridging the Memory Hotness Gap in Edge Systems with Hotness-Segregated Object Allocation
38mDynamic Data Structures and Memory Management on GPUs
15mA Managed Memory System for micro controllers with NOR flash memory
13mEnabling DDR segments on demand during memory pressure for DDR power reduction
18mMemSpec: Memory-Aware Runtime for Adaptive Draft Scheduling in Speculative Decoding on(…)
33mSSDFS: Flash-friendly File System with Highly Minimized GC Activity, Diff-on-write, & Deduplication
11mUnderstanding and Tackling the Hidden Memory Latency for Edge-based Heterogeneous
