BridgeGC: An Efficient Cross-Level Garbage Collector for Big Data Frameworks
Popular big data frameworks commonly run atop Java Virtual Machine (JVM) and rely on garbage collection (GC) mechanism to automatically allocate/reclaim in-memory objects. Existing garbage collectors are designed based on the hypothesis that most objects are short lived. However, big data frameworks usually generate many long-lived data objects, which can cause heavy GC overhead. Recent approaches have reduced GC overhead in big data frameworks but still suffer from heavy human efforts, additional runtime overhead, or suboptimal GC efficiency. This article describes the design of BridgeGC , a big-data-friendly garbage collector that significantly reduces GC overhead introduced by long-lived data objects. BridgeGC follows a cross-level co-design. At the big data framework level, BridgeGC provides two annotations for framework developers to denote the creation and release of data objects. Based on the annotations, BridgeGC tracks the lifecycles of annotated data objects and optimizes their allocation/reclamation at the GC level. At the GC level, we design a label-based allocator that stores data objects separately from other objects and balances their memory usage in the same JVM, leading to fewer GC cycles. We further design an efficient collector to eliminate unnecessary marking and copying of data objects during GC cycles, lowering the GC time. We have integrated BridgeGC into OpenJDK ZGC. The extensive evaluation, using two popular big data frameworks (Flink and Spark) and a key–value database (Cassandra), shows that BridgeGC achieves 31–82% GC time reduction compared to the baseline ZGC. BridgeGC also outperforms other traditional and academic garbage collectors in end-to-end performance.
Authors
- Jun Wei (ORCID: https://orcid.org/0000-0002-8561-2481)
- Wensheng Dou (ORCID: https://orcid.org/0000-0002-3323-0449)
- Tian Guo (ORCID: https://orcid.org/0000-0003-0060-2266)
- Huang Tao (ORCID: https://orcid.org/0009-0006-4875-732X)
- Yicheng Wang (ORCID: https://orcid.org/0009-0001-3147-0019)
- Hongbin Zeng (ORCID: https://orcid.org/0000-0001-8645-6217)
- Lijie Xu (ORCID: https://orcid.org/0009-0003-2013-4241)
- Wei Wang (ORCID: https://orcid.org/0009-0005-4941-9237)
Institutions
- Worcester Polytechnic Institute (US)
- Chinese Academy of Sciences (CN)
- Institute of Software (CN)
- University of Chinese Academy of Sciences (CN)
Publication Details
- Journal
- ACM Transactions on Architecture and Code Optimization
- Published
- 2025-03-07
- DOI
- https://doi.org/10.1145/3722110
- Citations
- 2
- Primary Topic
- Graph Theory and Algorithms
- Type
- article
- Field-Weighted Citation Impact
- 2.55