Low-latency, high-throughput garbage collection
Wenyu Zhao, Stephen M. Blackburn, Kathryn S. McKinley
摘要
To achieve short pauses, state-of-the-art concurrent copying collectors such as C4, Shenandoah, and ZGC use substantially more CPU cycles and memory than simpler collectors. They suffer from design limitations: i) concurrent copying with inherently expensive read and write barriers, ii) scalability limitations due to tracing, and iii) immediacy limitations for mature objects that impose memory overheads.
This paper takes a different approach to optimizing responsiveness and throughput. It uses the insight that regular, brief stop-the-world collections deliver sufficient responsiveness at greater efficiency than concurrent evacuation. It introduces LXR, where stop-the-world collections use reference counting (RC) and judicious copying. RC delivers scalability and immediacy, promptly reclaiming young and mature objects. RC, in a hierarchical Immix heap structure, reclaims most memory without any copying. Occasional concurrent tracing identifies cyclic garbage. LXR introduces: i) RC remembered sets for judicious copying of mature objects; ii) a novel low-overhead write barrier that combines coalescing reference counting, concurrent tracing, and remembered set maintenance; iii) object reclamation while performing a concurrent trace; iv) lazy processing of decrements; and v) novel survival rate triggers that modulate pause durations.
LXR combines excellent responsiveness and throughput, improving over production collectors. On the widely-used Lucene search engine in a tight heap, LXR delivers 7.8× better throughput and 10× better 99.99% tail latency than Shenandoah. On 17 diverse modern workloads in a moderate heap, LXR outperforms OpenJDK's default G1 on throughput by 4% and Shenandoah by 43%.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper10
- More Apps, Faster Hot-Launch on Mobile Devices via Fore/Background-aware GC-Swap Co-designJiacheng Huang, Yunmo Zhang, Junqiao Qiu, Yu Liang 等ASPLOS 2024 · 被引用 12 次
- Concurrent Immediate Reference CountingJaehwang Jung, Jeonghyeon Kim, Matthew J. Parkinson, Jeehoon KangPLDI 2024 · 被引用 6 次
- Jade: A High-throughput Concurrent Copying Garbage CollectorMingyu Wu, Liang Mao, Yude Lin, Yifeng Jin 等EuroSys 2024 · 被引用 5 次
- Work Packets: A New Abstraction for GC Software Engineering, Optimization, and InnovationWenyu Zhao, Stephen M. Blackburn, Kathryn S. McKinleyOOPSLA 2025 · 被引用 3 次
- Evaluating Garbage Collection Performance Across Managed Language RuntimesYicheng Wang, Wensheng Dou, Yu Liang, Yi Wang 等ICSE 2025 · 被引用 1 次
相关 Paper
- Mark-Scavenge: Waiting for Trash to Take Itself OutJonas Norlinder, Erik Österlund, David Black-Schaffer, Tobias WrigstadOOPSLA 2024
- Advancing Performance via a Systematic Application of Research and Industrial Best PracticeWenyu Zhao, Stephen M. Blackburn, Kathryn S. McKinley, Man Cao 等OOPSLA 2025
- FlexHeap: Dynamic I/O-Aware Heap Resizing for Managed ApplicationsIacovos G. Kolokasis, Shoaib Akram, Foivos S. Zakkak, Polyvios Pratikakis 等PLDI 2026
- Mako: a low-pause, high-throughput evacuating collector for memory-disaggregated datacentersHaoran Ma, Shi Liu, Chenxi Wang, Yifan Qiao 等PLDI 2022 · 被引用 19 次
- Iso: Request-Private Garbage CollectionTianle Qiu, Stephen M. BlackburnPLDI 2025 · 被引用 1 次
