RFR: 8255984: Shenandoah: "adaptive" heuristic is prone to missing load spikes

Aleksey Shipilev shade at openjdk.java.net
Thu Nov 12 22:22:09 UTC 2020


On Fri, 6 Nov 2020 21:44:10 GMT, Dalibor Topic <robilad at openjdk.org> wrote:

>> This change adds a "reactive" heuristic for triggering concurrent GC cycles.
>> 
>> The reactive heuristic maintains a margin of error and an allocation spike detection mechanism to trigger cycles somewhat more aggressively than the 'adaptive' heuristic. This heuristic 'reacts' to the outcome of GC cycles by adjusting the sensitivity of the triggers.
>> 
>> JBS ticket is here: https://bugs.openjdk.java.net/browse/JDK-8255984
>> 
>> The "adaptive" heuristic remains the default.
>> 
>> Steps to reproduce and test will follow shortly (there are no new jtreg test failures for Shenandoah with this change).
>
> Hi, 
> 
> Please contact me at Dalibor.topic at oracle.com so that I can verify your GitHub account.
> 
> Thanks!

This looks interesting. I have to look closer at this, but maybe we should instead fold this to `adaptive`. This would also resolve the testing question: Shenandoah tests usually run with most (all?) heuristics, and so new heuristics needs to be followed with lots of test changes. Folding this to `adaptive` implicitly fixes that.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1099


More information about the shenandoah-dev mailing list