Work Packets: A New Abstraction for GC Software Engineering, Optimization, and(…)
summary
Proposes a work packet abstraction implemented in MMTk that breaks GC into tiny work items, small hot kernels, and schedulable packets, replacing coarse phase barriers with a dependency graph and a novel two-tier work-stealing runtime. Shows concrete results: 13 diverse collectors built, 23 common packet types reused, 86% reusable code across MMTk versus 17% in OpenJDK, and measured improvements including a 8% stop-time reduction on EMIX and AXR, with implementation and artifacts available.
AI-written summary · about
chapters (12)
- 0:00Work packets abstraction
- 1:03Limitations of existing garbage collectors
- 3:13GC locality and parallelism
- 3:56Work packet system design
- 6:01Work packet structure
- 7:47Dependency execution
- 8:28Software engineering benefits
- 10:18Simplified GC optimization
- 11:22Reusable GC tools
- 11:42Performance evaluation
- 13:07Conclusion and future
- 13:28Q&A
related talks
30mBuilding the Next-Generation Garbage Collector in Ruby
01h 04mWe Live in Interesting Times
01h 06mHow should we evaluate garbage collectors?
45mThe Joy of Building Large Scale Systems
27mPack it up
27mThe Mutability Matrix of Pain
15mIsolation Mechanisms for High-Speed Packet-Processing Pipelines
30m“Show Me the Garbage!”, Understanding Garbage Collection
