[PATCH] Exploit Empty Regions in Young Gen to Enhance PS Full GC Performance

Kim Barrett kim.barrett at oracle.com
Mon Mar 11 05:45:46 UTC 2019

> On Jan 24, 2019, at 3:58 AM, Haoyu Li <leihouyju at gmail.com> wrote:
> Hi Kim,
> I have ported my patch to OpenJDK 13 according to your instructions in your last mail, and the patch is attached in this mail. The patch does not change much since PSGC is indeed pretty stable.
> Also, I evaluate the correctness and performance of PS full GC with benchmarks from DaCapo, SPECjvm2008, and JOlden suits on a machine with dual Intel Xeon E5-2618L v3 CPUs(16 physical cores), 64G DRAM and linux kernel 4.17. The evaluation result, indicating 1.9X GC throughput improvement on average, is attached, too.
> However, I have no idea how to further test this patch for both correctness and performance. Can I please get any guidance from you or some sponsor?

Sorry I missed that you had sent an updated version of the patch.

I’ve run the full regression suite across Oracle-supported platforms.  There are some
failures, but there are almost always some failures in the later tiers right now.  I’ll start
looking at them tomorrow to figure out whether any of them are relevant.

I’m also planning to run some of our performance benchmarks.

I’ve lightly skimmed the proposed changes.  There might be some code improvements
to be made.

I’m also wondering if this technique applies to other collectors.  It seems like both G1 and
Shenandoah full gc’s might have similar issues?  If so, a solution that is ParallelGC-specific
is less interesting than one that has broader applicability.  Though maybe this optimization
is less important for G1 and Shenandoah, since they actively try to avoid full gc’s.

I’m also not clear on how much additional memory might be temporarily allocated by this

More information about the hotspot-gc-dev mailing list