Skip to content

Deconstructing the Garbage-First Collector

Photo of Victor  B.
Hosted By
Victor B.
Deconstructing the Garbage-First Collector

Details

The Paper
Deconstructing the Garbage-First Collector

Paper Link
https://www.steveblackburn.org/pubs/papers/g1-vee-2020.pdf

Abstract
Garbage-First is among today’s most widely used garbage collectors. It is used in the HotSpot and OpenJDK virtual machines, and shares algorithmic foundations with three other important contemporary collectors: Shenandoah, C4, and ZGC. However, the design of the core algorithms and the performance tradeoffs they manifest have not been carefully analyzed in the literature. In this work, we deconstruct the G1 algorithm and re-implement it from first principles. We retrospectively develop a concurrent, region-based evacuating collector, CRE, which captures the principal design elements shared by G1, Shenandoah, C4, and ZGC. We then evaluate the impact of each of the major elements of G1 on performance, including pause time, remembered set footprint and barrier overheads. We find that G1’s concurrent marking and generational collection reduces the 95-percentile GC pauses by 64% and 93% respectively. We find that the space overhead of G1’s remembered sets is very low, typically under 1%. We also independently measure the barriers used by G1 and find that they have an overhead of around 12% with respect to total performance. This analysis gives users and collector designers insights into the garbage-first collector and the other fixed-size region-based concurrent evacuating collectors, which we hope will lead to better use of the collectors and provoke future improvements.

Format
We start at 6:10, don't be late!
The discussion lasts for about 1 to 1.5 hours, depending upon the paper.
• Read the paper (done before you arrive)
• Introductions (name, and background)
• First impressions (1-2 minutes this is what I thought)
• Structured review (we move through the paper in order, everyone gets a chance to ask questions, offer comments, and raise concerns)
• Free form discussion
• Nominate and vote on the next paper

Photo of Polyglot Vancouver Reading Group (#PapersWeLoveYVR) group
Polyglot Vancouver Reading Group (#PapersWeLoveYVR)
See more events