[8u, 11u] RFR: Shenandoah: enable low-frequency STW class unloading

Roman Kennke rkennke at redhat.com
Mon Jul 20 16:25:36 UTC 2020


Ok I guess this should work for the start.

It varies *a lot* depending on the workload though: some workloads
might never need it, some might need it at higher frequency. It would
be good to have a better trigger like some threshold(s) on number of
loaded classes or stringtable occupancy. Anyway, let's go with your
patches for the start.

Roman

On Mon, 2020-07-20 at 16:21 +0200, Aleksey Shipilev wrote:
> 	Error verifying signature: Cannot verify message signature:
> Incorrect message format
> Hi,
> 
> I think we have gathered enough real world data to consider enabling
> STW class unloading by default,
> but on much lower frequency. The concurrent class unloading is
> enabled by default since JDK 14,
> because we have enough infrastructure there. In 8u and 11u, we don't
> have such luck, and so we can
> only do STW class unloading, which adds to Final Mark time when it
> happens. This is why it was
> disabled in 8u and 11u by default, asking users to explicitly enable
> it.
> 
> There are still good reasons to do it, even with STW:
>   a) String Table cruft accumulates over time;
>   b) CLDG cruft accumulates over time;
>   c) The connection between the two above and the disabled -CUwCM is
> very opaque;
> 
> The long-run performance stability would be improved if we accepted a
> longer Final Mark pause every
> once in a while. It seems doing this every 100th cycle is a good
> spot? In many cases I've seen, the
> GC runs a few times per minute, which means we would get the several
> class unloading cycles every
> hour. That should be enough to amortize costs, and also be frequent
> enough to see as regular outlier
> in users' monitoring, if they want to turn it off.
> 
> 8u patch:
>   
> https://cr.openjdk.java.net/~shade/shenandoah/regular-stw-cu/webrev.01.8u/
>   Passes: hotspot_gc_shenandoah, ad-hoc runs
> 
> 11u patch:
>   
> https://cr.openjdk.java.net/~shade/shenandoah/regular-stw-cu/webrev.01.11u/
>   Passes: hotspot_gc_shenandoah, tier{1,2} with Shenandoah
> 
> Thoughts?
> 



More information about the shenandoah-dev mailing list